Где горлышко бутылки на время загрузки Magento? - PullRequest
3 голосов
/ 24 марта 2011

Я пытаюсь улучшить скорость загрузки моего магазина Magento http://www.jinkou.info время загрузки главной страницы инструментов pingdom составляет 13 секунд! Кажется, что задержка в считывании Pingdom - это зеленая секция после «connect»

Что может быть причиной этого узкого места?

Ответы [ 5 ]

10 голосов
/ 24 марта 2011

Прежде всего, вам необходимо убедиться, что кеш Magento включен. Вы можете сделать это в Admin -> System -> Cache Management. Все данные кэша должны быть включены там.

Если это не помогло, вам нужно включить Profiler, и это поможет вам увидеть узкие места в виде таблицы в нижнем колонтитуле. Вы можете сделать это в 2 шага:

  1. Перейдите в Admin -> Система -> Конфигурация -> Разработчик -> Отладка и включите Profiler.
  2. Отредактируйте файл index.php в Magento и раскомментируйте эту строку:

    Varien_Profiler :: включить ();

После выполнения шагов 1 и 2 - перейдите на любую страницу, посмотрите на нижний колонтитул.

5 голосов
/ 24 марта 2011

Magento, безусловно, очень любит использовать базу данных, и каждый запрос означает возврат к диску, в то время как больше ничего не делается.Убедитесь, что в MySQL включен кеш запросов и выделено много памяти, для больших сайтов требуется несколько гигабайт.Вот почему выделенный сервер лучше.

Из тестов я считаю, что самая большая стоимость процессора - это запуск PHP.Даже при использовании кэша кода операции это все еще интерпретируемый язык, и это дорого.Запускать PHP как отдельный процесс FastCGI.Если следовать традиционному трехуровневому подходу, это также будет выделенный сервер.

Используйте Memcache, только если у вас более одного PHP-сервера, в противном случае просто смонтируйте var/cache/ как tmpfs.

Наконецкак сказал rpSetzer - и, без сомнения, другие скажут - используйте блочное кэширование .
Больше блочного кэширования .
Кэширование страниц .

4 голосов
/ 24 марта 2011

Трудно сказать, вот несколько советов, которые, безусловно, могут помочь:

  • использовать APC
  • использовать Memcache для кеширования
  • использовать блочное кэширование
1 голос
/ 25 марта 2011

Кэширование Magento должно быть включено, когда сайт загружается.Но что действительно имеет значение, так это кеш PHP.Мы используем APC и его главное отличие.Также обязательно настройте свою базу данных!Настройка MySQL значительно улучшена.Google для Настройка MySQL , и вы найдете.

0 голосов
/ 17 мая 2015

с помощью модуля анализатора скорости magento вы можете найти время загрузки каждого блока.

с помощью модуля анализатора скорости вы можете найти время загрузки каждого блока.http://www.magentocommerce.com/magento-connect/speed-analyzer.html

...