3

谁能帮我。

我有一个在 magento 1.6.2.0 上运行的网上商店。一个带有 apache 2 的 VPS 服务器。我正在运行 APC 和 memcache、varnish cache 和 fooman speedster。

主页有可接受的加载时间......但是当我进入类别页面时,它需要更长的时间......

但是必须等待的时间是等待html页面加载消耗的......看截图: 在此处输入图像描述

加载时间现在大约是 2-5 秒,但是当它在网站上忙碌时,它可以运行长达 10-15 秒……慢得多……

当我看萤火虫时,我看到加载时间的大部分时间都在等待......

所以我的问题是,我怎样才能减少这种情况?

4

6 回答 6

2

benmarks 和 josh pennington 是正确的,忽略其他告诉你现在减少请求数量的人,因为额外的请求现在会分散注意力。

问题是生成 HTML 页面需要很长时间,并且在负载下会变得更糟。

这通常是由于数据库负载过大,要么是优化不佳的查询,要么是没有足够的内存。

您需要确定在该页面上执行了哪些查询,以及它们的性能配置文件是什么,例如内存、IO、CPU 使用率。

你有多大的 VPS?您还必须考虑它是否有足够的内存。

你也在运行Apache吗?如果是这样,它有多少工人。可能发生的情况是,在繁忙时间没有足够的工作人员,他们可能无法足够快地处理,因此在繁忙时间,一些请求在等待工作人员可用时排队。

于 2012-04-28T16:19:37.807 回答
1

问题可能与数据有关。创建并浏览到没有产品的类别并记录响应时间;这将表明它是否是类别数据问题。您可以使用分析器来缩小罪魁祸首。在 Admin > System > Configuration > Advanced: Developer 中,将 Developer Restriction IP 设置为您的 IP并启用探查器。然后在 index.php 中取消注释 Varien_Profiler::enable();

然后,您应该在正常响应正文之后看到输出。您可以跟踪该输出并在中间某处找到性能不佳的区域。

于 2012-04-28T12:47:13.020 回答
1

我要做的第一件事是查看 Magento 白皮书。它有很多关于如何微调 PHP、Apache 和 MySQL 以获得最佳性能的好技巧。

http://www.magentocommerce.com/whitepaper

我会说,将 MySQL 服务器与 Apache 分开可以带来不同的世界。Magento 大量使用 Innodb,如果 DB 服务器未优化以使用允许的尽可能多的内存,这可能会被视为非常慢。

于 2012-04-28T13:30:47.307 回答
1

您可以做出的一项非常好的改进是用 Nginx 替换 Apache。我已经看到使用 Nginx 极大地提高了速度和稳定性。MYSQL Tuner 会告诉你的一些事情是优化你的表,增加你的 innodb_memory_pool_size,并增加 max_heap_table_size 和 tmp_table_size。如果您负担得起,请将您的服务器增加到 4GB,并为 MySQL 和 PHP 提供更多内存。Gzip 也会影响到第一个字节的时间,并且可能会在仅使用一个处理器的情况下减慢您的速度。您可以调查 Cloudflare 作为缓存的替代/添加。最后一件事是目录页面往往有很多图像。确保这些都经过优化(我使用 ImageOptim)并尽可能将 gif 更改为 png。还有很多事情要做,但从这个开始。

于 2013-02-17T06:09:22.113 回答
0

只需尝试在页面加载后实现一个 javascript 代码来加载所有图像(高分辨率)。在页面加载引发 ajax 调用后尝试获取图像

function init() {
...function to call all the images threw ajax
}
window.onload = init;

好吧,我尝试了下面给出的代码,以找出加载图像的最少时间。我把所有图像都用一个共同的 div 名称并将它们的可见性设置为隐藏......

$(document).ready(function() {
    $("#img").css('visibility','visible') //img is div for all the images on the webpage 
});

但是 ajax 调用给了我一个获取图像的外观和感觉。

于 2012-04-28T11:58:25.730 回答
0

你有相当复杂的分层导航设置,这将在服务器上很重。

从移动到专业 Magento 网络主机的经验可以让世界变得不同......它对我来说确实如此。我不确定我们是否应该提及公司,所以除非有人说可以这样做,否则我不会提及我的公司,但谷歌搜索 Magento 基准测试应该可以帮助您入门。

拥有三服务器方法会产生巨大的影响。

于 2012-04-30T08:56:14.593 回答