В ядрах OpenVZ на RHEL 6 (это 2.6.32) достаточно много нового функционала.
Память для контейнера теперь устанавливается по 2 параметрам, например 2G RAM и 1G Swap
Теперь не нужно высчитывать множество разных параметров, как было раньше на ядрах ovz RHEL5. Теперь нет проблемы "cannot allow memory".
CPU можно ограничить как по приоритету
так и в процентах от ядра/ потока, например доступно от 2 ядер/ потоков - 150% (одно ядро = 100%)
Подробнее про CPU лимиты.
Начиная с kernel 042stab068.8 появилась возможность ограничивать использование контейнерами дискового кэша.
Появился ploop. http://wiki.openvz.org/Ploop -> VPS = отдельная FS. Не нужно дополнительно ограничивать кол-во innods и quota users.
Бекап (не выключая впску) можно делать без lvm -> с помощью ploop-snapshot---------- Добавлено 07.09.2013 в 18:06 ----------
foxi, готов сделать вам тестовую VPS на OpenVZ ;) А потом обсудим - что вас не устраивает в OpenVZ VPS.
extra,
pfcache есть в ядре ovz, но нет в vzctl. На данный момент - эта фитча работает только на virtuozzo. Но в будущем, так же будет доступна и на ovz.
У ovz - минимальный оверхед по cpu и ram.
solomko,
Конфиг VPSки достаточно слабый. Например fastvps предлагает
OpenVZ VPS рекомендую брать только на ядрах (2.6.32 base RHEL6), проверить можно так
А так же только у тех хостеров, которые действительно разбираются в OpenVZ. Например fastvps и ihc.
все 5 ипов - кф.
настройте nginx
https://ru.cloudflare.com/ips
Проблема со стороны fcgi. Думаю, мало процессов fcgi.
Можно воспроизвести -> сделать 1 процесс fcgi (без дочерних), запустить скрипт (который будет долго что-то выполнять) и вызвать его несколько раз -> получите 502.
Сделайте больше fcgi процессов и проверьте (например 256~512 на тест)---------- Добавлено 06.09.2013 в 12:18 ----------
Оно без apache, nginx так и так отдает статику и все остальное, кроме php
nginx выдает 502 по своему таймауту, если не получил ответ.
В php5-fpm можно сделать dynamic
http://php.net/manual/ru/install.fpm.configuration.php
---------- Добавлено 05.09.2013 в 23:44 ----------max_execution_time = 120
это в любом случае дофига, юзер будет ждать 2 минуты?
Вы уверены, что 502 выдает по fastcgi_read_timeout, то есть через 240 секунд? Пользователи подтвердили, что ждали 4 минуты?
fastcgi_connect_timeout
fastcgi_read_timeout
fastcgi_send_timeout
Увеличьте все 3 параметра. Сделайте больше fcgi процессов. Если стоят кешеры (apc, xcache) - отключите их на время.
Попробуйте увеличить количество процессов fcgi.
А так же заюзать php5-fpm, там есть динамический режим.---------- Добавлено 05.09.2013 в 23:26 ----------
Да, но если например таймаут на выполнение скрипта 60с для пхп, а для nginx - меньше, то php не запишет ошибку в лог -> если скрипт уложился в отведенное время. Можно сделать небольшой таймаут для php скриптов и посмотреть какие умирают по таймауту.
Статика же отдается nginx, в этом случае 502 не может быть на статику.
Может быть скрипт обрабатывает больше N времени. И nginx не получив ответ - развешает по таймауту с 502. Думаю стоит - найти закономерность, воспроизвести, отдебажить
Зачем gzip_comp_level 9; -> достаточно 5~6
worker_connections 1024; -> я бы увеличил хотя бы до 2048, и по stat nginx -> смотрел, сколько юзают и не нужно ли увеличить еще.
keepalive_timeout 60s; -> думаю достаточно 20-30s
fcgi лучше перевести на сокет.
Какой двиг сайта? Сколько gb hdd нужно?
Может быть стоит посмотреть в сторону VIP хостинга, там уже все настроено.
Хостерам можно писать предложения в теме?