2012-07-02 2 views
0

Я довольно новичок во всем этом, но я OCD об оптимизации.LEMP Nginx + php-fpm высокие нагрузки, тогда штраф

Я пытаюсь оптимизировать свой веб-сервер с помощью установки LEMP для wordpress.

Я использую WP hypercache вместо w3 общей кэш-памяти, как это кажется для выполнения phenomenaly по сравнению с моей установкой

Я использую blitz.io для тестирования и бросить 450 пользователей в домене в течение 60 секунд, начиная с с полным 450.

Это мои результаты: Spike на 5 сек являются ошибки и тайм-ауты http://i.imgur.com/CdpBz.png

Htop во время всплеска: http://i.imgur.com/OhEyS.png

Это vps w/2 cpu на 2.5 ГГц и 2.5 ГБ памяти, так как вы можете видеть, что использование памяти низкое.

nginx: worker_processes 1; worker_connections 1024;

PHP-FPM: динамические, pm.max_children = 10, pm.start_servers = 2, pm.max_spare_servers = 2,; pm.max_requests = 500 Значение по умолчанию = 0

Я увеличил Nginx worker_processes к 2 без изменений, и я перепутал свои настройки php-fpm без изменений. Любые идеи, на что я должен смотреть?

ответ

1

Это выглядит не так уж плохо. ~ 40 тайм-аутов из запросов 19k - это нормально. Я получил аналогичные результаты.

Что касается настройки:

  • взгляд в http://wiki.nginx.org/HttpFastcgiModule#fastcgi_cache - с помощью этого избежать трогательные PHP вообще и Nginx делает все кэширование. Вы также можете посмотреть на batcache (http://evansolomon.me/notes/faster-wordpress-multisite-nginx-batcache/)

  • Посмотрите на apc/memcached для кэширования объектов. это ускоряет выполнение не кэшированных запросов, а бэкэнд более отзывчив. apc также уменьшает объем памяти php. Для повседневного использования это имеет большее значение. Это также помогает, если многие ваши запросы не кэшируемы (например, новые комментарии лота).

  • рассмотреть вопрос об использовании php5.4 это много быстрее и требует меньше памяти

  • включить кэш запросов MySQL. http://mysqltuner.com - хороший сценарий для настройки вашего сервера.

Измерение пиковых передач не является хорошим индикатором масштабируемости в большинстве случаев. реальные пользователи ведут себя по-разному.

изменить: попробуйте blitz.io на статической странице nginx. Если есть еще тайм-ауты, проблема, вероятно, в blitz.io или еще что-то еще. Также активируйте сжатие gzip для ваших страниц.