Где горлышко бутылки на время загрузки Magento?
Я пытаюсь улучшить скорость загрузки моего магазина Magento http://www.jinkou.info/ Время загрузки главной страницы инструментов pingdom составляет 13 секунд! Кажется, что задержка в выводе пингдома - это зеленый раздел после "подключения"
Что может быть причиной этого узкого места?
5 ответов
Magento, безусловно, очень любит использовать базу данных, и каждый запрос означает возврат к диску, в то время как больше ничего не делается. Убедитесь, что в MySQL включен кеш запросов и выделено много памяти, для больших сайтов требуется несколько гигабайт. Вот почему выделенный сервер лучше.
Из тестов я обнаружил, что самая большая стоимость процессора - это запуск PHP. Даже при использовании кэша кода операции это все еще интерпретируемый язык, и это дорого. Запускать PHP как отдельный процесс FastCGI. Если следовать традиционному трехуровневому подходу, это также будет выделенный сервер.
Используйте Memcache, только если у вас более одного PHP-сервера, в противном случае просто смонтируйте var/cache/
как tmpfs.
Наконец, как сказал rpSetzer, и, без сомнения, другие скажут, используйте блочное кэширование.
Больше блочного кеширования.
Кэширование страниц.
Прежде всего, вам нужно убедиться, что кеш Magento включен. Вы можете сделать это в Admin -> System -> Cache Management. Все данные кэша должны быть включены там.
Если это не помогло, вам нужно включить Profiler, и это поможет вам увидеть узкие места в виде таблицы в нижнем колонтитуле. Вы можете сделать это в 2 этапа:
- Перейдите в Admin -> Система -> Конфигурация -> Разработчик -> Отладка и включите Profiler.
Отредактируйте файл index.php в Magento и раскомментируйте эту строку:
Varien_Profiler:: включить ();
После выполнения шагов 1 и 2 - перейдите на любую страницу, посмотрите на нижний колонтитул.
Трудно сказать, вот несколько советов, которые, безусловно, могут помочь:
- использовать APC
- использовать Memcache для кеширования
- использовать блочное кэширование
Кэширование Magento должно быть включено при загрузке сайта. Но что действительно имеет значение, так это кеш PHP. Мы используем APC и его главное отличие. Также обязательно настройте свою базу данных! Настройка MySQL значительно улучшена. Google для настройки MySQL, и вы найдете.
С помощью модуля анализатора скорости magento вы можете найти время загрузки каждого блока.
С помощью модуля анализатора скорости вы можете найти время загрузки каждого блока. http://www.magentocommerce.com/magento-connect/speed-analyzer.html