2012-08-22 40 views
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个文件。有什么方法可以加速这个吗?是否有任何其他原因为什么图像加载缓慢?

回答

0

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

70.000是恕我直言太..我想了拆分的文件名和创建子文件夹,例如: /htdocs/img/32193/80_100.jpg