У меня есть веб-сайт OpenCart (https://www.haarhuis.shop), который занял около 60 секунд, чтобы полностью загрузить любую страницу как в разделе для клиентов, так и в разделе администратора. Мне удалось сократить это время до 15-20 секунд кувеличение memory_limit
в файле php.ini
, очистка файлов шаблонов и создание индексов в таблицах базы данных MySQL, но 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 ЦП и 6 ГБ памяти, что должно быть более чем достаточно. Постоянно используется около 8% памяти, и когда кто-то загружает страницу, она возрастает примерно до 40%. memory_limit
установлен в6G, поэтому проблема не связана с сервером.
Я отладил исходный код OpenCart (начиная с index.php), и большая часть времени (~ 10 секунд) поступает из последней строки, start('catalog');
(или start('admin');
в админкекаталог).Остальные 5 секунд поступают от
// VirtualQMOD
require_once('./vqmod/vqmod.php');
VQMod::bootup();
Дальнейшая отладка показывает, что startup/router
занимает больше всего времени в system/engine/router.php
.Теперь мои знания по отладке на этом заканчиваются, так есть ли кто-нибудь, кто может помочь мне сделать сайт быстрее?