Как ускорить XAMPP (Apache; поисковые запросы) в Windows 7?

#apache #windows-7 #magento #xampp #performance

#apache #windows-7 #magento #xampp #Производительность

Вопрос:

При использовании XAMPP (1.7.5 Beta) в Windows 7 (Ultimate, версия 6.1, сборка 7600) требуется несколько секунд, прежде чем страницы действительно появятся. В течение этих секунд браузер показывает «Ожидание сайта.localhost.com …» и Apache (httpd.exe , версия 2.2.17) загружает процессор на 99%.

Я уже пытался ускорить процесс несколькими способами:

  • Раскомментированный «Win32DisableAcceptEx» в xampp apache conf extra httpd-mpm.conf
  • Раскомментированные «EnableMPAP Off» и «EnableSendfile Off» в xampp apache conf httpd.conf
  • Отключены все брандмауэры и антивирусные программы (защитник Windows / брандмауэр Windows, Norton AntiVirus).
  • В файле hosts закомментировано «::1 localhost» и раскомментировано «127.0.0.1 localhost».
  • Выполняется (через cmd): netsh; интерфейс; portproxy; добавить v6tov4 listenport=80 connectport= 80.
  • Даже полностью отключил IPv6, следуя этим инструкциям.
  • Единственное место, где установлен параметр «HostnameLookups», находится в xampp apache confhttpd-default.conf, значение: Выкл.
  • Попробовал PHP в режиме CGI, закомментировав (в httpd-xampp.conf): LoadFile «C:/xampp/php/php5ts.dll » и LoadModule php5_module modules/php5apache2_2.dll .

Ни одно из этих возможных решений не оказало заметного влияния на скорость. Испытывает ли Apache трудности при попытке найти конечный хост (‘gethostbyname’)? Что еще я мог бы попробовать, чтобы ускорить процесс?

Комментарии:

1. Я рекомендую вам сменить среду разработки. Используйте VMware Player и укажите папку вашего хоста в качестве каталога VirtualHost, используя общее подключение… это значительно ускорит вашу разработку на Magento.

2. Я рассмотрю это, спасибо. Я также изменил safe_mode в php.ini на off, что, кажется, немного ускоряет серверную часть.

3. Да, я определенно рекомендую это. Когда я пытался разрабатывать на платформе, подобной XAMPP (WAMP), это было очень медленно, но перенос ее в виртуальную среду значительно ускорит процесс; вам просто нужно обладать навыками системного администратора среднего уровня.

Ответ №1:

Прочитайте Технический документ Magento по оптимизации, хотя в нем упоминается enterprise, будут и должны применяться те же методологии. Magento ни в коем случае не является упрощенным и может быть очень ресурсоемким. Как и некоторые другие упомянутые, я обычно запускаюсь на виртуальной машине в стеке LAMP, и вся моя оптимизация (как на уровне серверных приложений, так и на уровне Magento) предварительно настроена при базовой установке Magento. Запуск кэша кода операции, такого как eAccelerator или APC, может помочь сократить время загрузки. Сохранение включенных слоев кэширования Magento также может помочь, но может нанести ущерб разработке, если вы забудете включить его во время разработки, однако существует множество доступных инструментов, которые могут устранить это за вас из одной командной строки или такого инструмента, как ошибка Alan Storms в электронной коммерции.


Редактировать

Ссылка на технический документ по оптимизации:

Кроме того, поскольку PHP7 теперь включает OpCache, включение его с настройками по умолчанию с проверкой даты / времени вместе с AOE_ClassPathCache может повысить производительность дискового ввода-вывода.

Если вы используете IDE с поиском по классам, сохранение локальной копии базы кода, над которой вы работаете, может значительно ускорить индексацию в таких IDE, как PhpStorm / NetBeans / и т.д. В Atwix есть хорошая статья о Docker с Magento:

Несколько хороших инструментов для локальной разработки Magento 1.x:

Ответ №2:

Используйте профилировщик соединений, подобный Chrome, чтобы увидеть, действительно ли это проблема с поиском, или вы ожидаете, что сайт вернет содержимое. Поскольку вы отметили этот вопрос в Magento, который известен своей медлительностью перед его оптимизацией, я предполагаю последнее.

Apache запускает некоторые очень важные сайты в Интернете, и у них нет задержек в несколько секунд, поэтому ответ на ваш вопрос об Apache, скорее всего, отрицательный. Кроме того, поиск DNS происходит между вашим браузером и DNS-сервером, а не целевым хостом. Как только запрос отправляется целевому хосту, вы ожидаете от него обработанного ответа.

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