快速图像检索

时间:2012-08-22 14:36:38

标签: apache http caching file-io webserver

我有一个显示产品的网站。每个页面显示16个产品,网站上有大约70,000个产品。每个页面的HTML都是使用PHP生成的。

产品信息存储在数据库中。粗略地说,结果的第一页(如果我想首先显示最便宜的项目)将显示如下(仅限伪代码):

// run sql to fetch product titles and image filenames
SELECT itemTitle, itemImageFileName FROM items ORDER BY itemPrice ASC LIMIT 16

// loop through and display items
for (i=0; i<16; i++) {
    echo "<p>$itemTitle</p>";
    echo "<img src=$itemImageFileName height='100px' width='80px'>";
}

当我这样做时,首先出现图像标题,然后在半秒到一秒之间加载图像。我想知道如何加速图像加载。

所有图像都存储在包含70,000张图像的单个文件夹中。几乎所有图像的大小都小于50KB。每个图像文件名的格式为:id_width_height.jpg。例如,文件名可能如下:32193_80_100.jpg

我想知道瓶颈是否需要服务器一段时间才能找到所需的文件,因为文件夹中有70,000个文件。有没有办法可以加速这个?是否还有其他原因导致图像加载缓慢?

1 个答案:

答案 0 :(得分:0)

首先,我会在Chrome / Firefox的网络标签中检查图片请求。这将回答查找或下载是否是关键部分的问题。 你有链接吗?

70.000非常多..我会拆分文件名并创建子文件夹,例如: /htdocs/img/32193/80_100.jpg