我有一个OpenCart网站(https://www.haarhuis.shop),该网站花了大约60秒才能完全加载“客户”和“管理”部分的任何页面。通过增加memory_limit
文件中的php.ini
,清理模板文件并在MySQL数据库表中创建索引,我设法将时间缩短到15-20秒,但是15-20秒仍然有太多的等待时间。
我使用了几个开发工具来找出问题所在,但找不到解决方案。 90%的加载时间包括“等待(TTFB)”时间。参见下表:
Event When Time Sum
Redirect 0 0 0
DNS 18 0 0
Connect 18 20 20
TTFB 38 18119 18139
Response 18156 520 18659
DOM 18321 542 19201
Interactive 18793 0 -
Content 18793 36 -
该服务器具有3个CPU和6GB内存,应该足够了。经常使用约8%的内存,而当有人加载页面时,这将达到约40%。 memory_limit
设置为6G,因此问题不在于服务器。
我已经调试了OpenCart源代码(从index.php开始),大多数时间(〜10秒)来自最后一行start('catalog');
(或admin目录中的start('admin');
)。其他5秒来自
// VirtualQMOD
require_once('./vqmod/vqmod.php');
VQMod::bootup();
进一步的调试显示,startup/router
在system/engine/router.php
中花费的时间最多。现在我的调试知识到此为止了,所以有人可以帮助我加快网站速度吗?
答案 0 :(得分:0)
可能是您未按照此处所述创建正确的数据库索引: https://www.antropy.co.uk/blog/opencart-1-5-site-search-very-slow/
或者可能是文件/vqmod/checked.cache.php太大的错误,如下所述: https://forum.opencart.com/viewtopic.php?t=165423
(每个链接上都有针对每个问题的解决方案。)