谁能帮助我。
我有一个在magento 1.6.2.0上运行的网上商店。 带有apache的VPS服务器2。 我有APC和memcache,清漆缓存和fooman speedster运行。
主页面有加载时间...... 但是当我去一个类别页面时需要更长的时间......
但是等待html页面加载需要等待的时间...... 看截图:
加载时间现在大约是2-5秒,但是当它在网站上忙碌时,它可以运行10-15秒......这么慢......
当我和萤火虫接受时,我发现加载时间的大部分时间都在等待......
所以我的问题是,我该如何减少这个?
答案 0 :(得分:2)
问题是HTML页面生成时间太长,而在负载下这会变得更糟。
通常情况下,这可能是因为DB负载太大,无论是通过优化不佳的查询还是没有足够的内存。
您需要确定在该网页上执行的查询,以及他们的效果简介,例如内存,IO,CPU使用率。
你有多大的VPS?你还必须考虑它是否有足够的内存。
你也在运行Apache吗?如果是这样,它有多少工人。可能发生的事情是,在繁忙的时候,工作人员不够,他们可能无法足够快地处理,所以在繁忙的时候,一些请求正在排队等待工人变得可用。
答案 1 :(得分:1)
问题可能与数据有关。创建并浏览到没有产品的类别,并记下响应时间;这将表明它是否属于类别数据问题。您可以使用分析器缩小罪魁祸首。在管理员>系统>配置>高级:开发人员,将开发人员限制IP设置为您的IP 并启用探查器。然后在index.php中取消注释Varien_Profiler :: enable();
然后您应该在正常的响应主体之后看到输出。您可以追踪该输出,并在中间某处找到表现不佳的区域。
答案 2 :(得分:1)
我要做的第一件事就是看Magento白皮书。它有很多关于如何微调PHP,Apache和MySQL以获得最佳性能的好技巧。
http://www.magentocommerce.com/whitepaper
我会说将MySQL服务器与Apache服务器分开可能会让世界变得与众不同。 Magento非常大量地使用Innodb,如果DB服务器没有经过优化以使用尽可能多的内存,那么可以看作非常慢。
答案 3 :(得分:1)
您可以做的一个非常好的改进是用Nginx替换Apache。我已经看到使用Nginx提高了速度和稳定性。 MYSQL调优器会告诉您的一些事情是优化表,增加innodb_memory_pool_size,并增加max_heap_table_size和tmp_table_size。如果你负担得起,可以将服务器提升到4GB,并为MySQL和PHP提供更多内存。 Gzip也会对第一个字节的时间产生影响,并且只用一个处理器就可能会让你慢下来。您可以调查Cloudflare作为缓存的替代/补充。最后一件事是目录页面往往有很多图像。确保这些是优化的(我使用ImageOptim)并尽可能将gif更改为png。还有很多事要做,但从这开始。
答案 4 :(得分: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电话给我一个外观和感觉来获取图像。
答案 5 :(得分:0)
你有相当复杂的分层导航设置,在服务器上会很重。
从经验转移到专家Magento网络主机可以让世界变得与众不同......它对我有用。我不确定我们是否应该提及公司所以我不会提及我的,除非有人说这样做是可以的,但谷歌搜索Magento基准测试应该让你开始。
采用三服务器方法会产生巨大的差异。