0

我有一个展示产品的网站。每个页面显示 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 个文件。有没有办法可以加速这个?图像加载缓慢还有其他原因吗?

4

1 回答 1

0

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

70.000 实在太多了。我会将文件名拆分并创建子文件夹,例如:/htdocs/img/32193/80_100.jpg

于 2012-08-25T09:42:53.550 回答