Производительность OpenVZ VPS, приглашаю обсудить мою статью о оптимизации производительности |
Здравствуйте, гость ( Вход | Регистрация )
Настоящие Правила Раздела являются дополннением к Общим Правилам Конференции. В случаях противоречий отдельных пунктов, действуют Правила Раздела.
Производительность OpenVZ VPS, приглашаю обсудить мою статью о оптимизации производительности |
BarsMonster |
13.04.2010, 07:28
Сообщение
#1
|
Группа: Старые пользователи Сообщений: 56 Регистрация: 06.04.2009 Пользователь №: 9,321 Репутация: 192 |
Приглашаю обсудить мою статью об оптимизации и тестировании производительности OpenVZ (в тексте статьи есть и реф и не-реф ссылки на хостера).
Краткое содержание: ulimit -s 1024. Apache2 mpm-prefork 4 процесса максимум, mod_php+APC. MySQL - конфиг на 160Мб памяти, на 16 коннектов максимум (больше и не понадобится по идее). Nginx - ничего особенного. Все это работает под OpenVZ на 0.5Гб памяти с еще небольшой кучкой дополнительных вещей занимает 330-350Мб памяти _независимо_ от нагрузки. Мои PHP сайты отдаются 600-170 запросов в секунду, PHPBB3 - 17. Статика - 3.8Кб файл - 1424 запроса в секунду, 45Кб файл - 638 запросов в секунду (это при том, что я не настроил отдачу статики nginx-ом напрямую) - тест был из Германии на сервер в Москве. Что на ваш взгляд можно подкрутить, особенно в MySQL для PHPBB(т.к. он "тормозит" сильнее всего)? Насколько это надежно, или я что-то упускаю? |
MiksIr |
18.04.2010, 21:46
Сообщение
#2
|
Группа: Старые пользователи Сообщений: 347 Регистрация: 23.09.2005 Пользователь №: 1,646 Репутация: 227 |
Цитата Я говорю о том, что нет нужды стремиться обрабатывать очень много запросов одновременно, и есть причины по которым 4 процесса быстрее чем 40 - меньше потери на переключение контекста и перегрузки кешей. А т.к. 4-8 апачей в память влезут всегда, это и становится оптимальным вариантом для многих случаев. По моей практике - 5-6 процессов на ядро, но при этом база сидит на другой машине. Хотя, если база на той же машине, наверно не сильно что изменится - ибо когда работает база PHP сидит в ожидании. Зависит так же от того, что PHP делает. Если сложная математика - меньше, если больше база и другой IO - больше. А возвращаясь к вопросу про то, чем топить - апач и правда можно выкинуть. В конце концов даже из соображения уменьшения точек конфигурирования =) Сообщение отредактировал MiksIr - 18.04.2010, 21:48 |
BarsMonster |
19.04.2010, 09:00
Сообщение
#3
|
Группа: Старые пользователи Сообщений: 56 Регистрация: 06.04.2009 Пользователь №: 9,321 Репутация: 192 |
А возвращаясь к вопросу про то, чем топить - апач и правда можно выкинуть. В конце концов даже из соображения уменьшения точек конфигурирования =) Ну, если апач быстрее, я бы его уже не выкидывал - многим сайтам нужен .htaccess, отдельные опции PHP для каждого сайта.... Вот когда сделают nginx со встроенным php... :-) А так - точек конфигурирования для запуска PHP в FCGI больше, насколько я помню... |
MiksIr |
19.04.2010, 18:05
Сообщение
#4
|
Группа: Старые пользователи Сообщений: 347 Регистрация: 23.09.2005 Пользователь №: 1,646 Репутация: 227 |
Ну, если апач быстрее, я бы его уже не выкидывал - многим сайтам нужен .htaccess, отдельные опции PHP для каждого сайта.... Вот когда сделают nginx со встроенным php... :-) А так - точек конфигурирования для запуска PHP в FCGI больше, насколько я помню... Подождите, апач быстрее в голом виде. Но вы же сами сказали, что понимаете, что nginx перед апачем нужен. А теперь внимательно еще раз смотрите тест по своей ссылке. nginx+php-fpm быстрее чем nginx+apache/mod_php. Насчет опций пхп и htaccess, если у вас не хостинговый сайт (что было бы странно в контексте VPS), то это больше разговоров, чем проблем, тем более, что если отдавать статику через nginx - то уже про htaccess речи не идет. А кастомные флаги/php.ini в php-fpm можно выставлять. Насчет конфигурирования - как минимум каждый новый виртуальный хост придется прописывать и в nginx (что бы статику отдавать) и в апач. Сообщение отредактировал MiksIr - 19.04.2010, 18:07 |
BarsMonster |
19.04.2010, 21:10
Сообщение
#5
|
Группа: Старые пользователи Сообщений: 56 Регистрация: 06.04.2009 Пользователь №: 9,321 Репутация: 192 |
Подождите, апач быстрее в голом виде. Но вы же сами сказали, что понимаете, что nginx перед апачем нужен. А теперь внимательно еще раз смотрите тест по своей ссылке. nginx+php-fpm быстрее чем nginx+apache/mod_php. Насчет опций пхп и htaccess, если у вас не хостинговый сайт (что было бы странно в контексте VPS), то это больше разговоров, чем проблем, тем более, что если отдавать статику через nginx - то уже про htaccess речи не идет. А кастомные флаги/php.ini в php-fpm можно выставлять. Насчет конфигурирования - как минимум каждый новый виртуальный хост придется прописывать и в nginx (что бы статику отдавать) и в апач. Мои тесты не подтверждают такой просадки производительности на синтетических тестах от добавления nginx - у меня она укладывается в 10-15% (в то тесте - 37%). Возможно, там буферы nginx-а стояли сильно большие, или сжатие на 9-тку или еще что... В php-fpm кастомные флаги выставлять можно насколько я помню только на целый демон, т.е. хотите 2 конфигурации - имейте 2 разных демона в памяти... В nginx делать vhost на каждый сайт не обязательно - есть вариант с единым конфигом на все (особенно если статика в более-менее тех же каталогах относительно корня сайта). Насчет хостинг/не хостинг - в любом случае производительность и удобство настройки имеет значение, особенно если писать гайд. |
Текстовая версия | Сейчас: 24.04.2024, 00:16 |