Заметил странное поведение nginx, при старте работает нормально, гдето через минуту тупит по 3-4 минуты и только потом отдает и тд до перезагрузки первый опыт в ве, может что то не докрутил с ве? barrier вроди не превышен
Думаю дело в DNS. Другой кандидат в причины - нагруженный винт, т.к. nginx запросы длиннее 8/16 кБ сбрасывает во временные файлы.
не винт вряд ли, сервер не нагружен днс можно было бы подумать, но почему тогда при рестарте нгинкса он отдавал нормально? сейчас весь вечер все нормально работает, но причина так и не выявлена
поставил апач и вот что вижу апач отвечает четко всегда, а нгинкс тупит че за хрень не понятно
У меня nginx стоит на одной VE и раздает запросы на http-сервера (не только Апач) на других VE. За два года работы с nginx проблем не было. Nginx собираю сам из исходников стабильной версии. Работал с версиями 0.6 и 0.7 и ни разу не имел описанных проблем. ОС для HN - CentOS 5, 32- и 64-bit. ОС для VE - CentOS 5 32-bit, FC 9-12 32-bit. С "тонкими" настройками, касающимися синхронизации IO, не мудрил, а использовал выбираемые автоматом (для каждой ОС они предпочтительны разные; для Linux 2.6 - epoll). Могу поделиться базовыми настройками nginx. (!) При использовании venet0 трафик маршрутизится через HN - первым делом надо проверять там.
с нгинксом я года 4 знаком, умею настраивать и все устраивает но в ve он чудит может что то с параметрами ve? у меня еще странное подозрение что что то изза разных мест тестирования на работе только такое проявляется, дома же он тут как тут мистика какая то
Практика показывает, что вся мистика кроется в разнице в настройках машин. Как железных, так и виртуальных. Стоит капать в этом направлении. Можно еще попробовать поискать схожее описание проблемы не опираясь на OpenVZ. А виртуалки в обеих случаях - полные копии?
Так же никогда не было описанных проблем
RXL_ wrote on Tue, 10 August 2010 12:07 Могу поделиться базовыми настройками nginx. Был бы признателен. Тоже собирался nginx ставить в отдельный контейнер. Спасибо!
/etc/nginx/nginx.conf: daemon on; user apache apache; pid /var/run/nginx.pid; error_log /var/log/nginx/error.log error; worker_processes 2; worker_rlimit_nofile 8192; events { worker_connections 4096; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 60; server_tokens off; gzip on; gzip_types text/html text/plain text/xml text/css text/javascript application/x-javascript; client_max_body_size 4M; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Host $http_x_forwarded_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $http_x_forwarded_for; upstream us_apache { server main.local:80; } upstream us_redmine { server redmine.local:3000; } include virtuals/*.conf; } В поддиректории virtuals у меня находятся конфиги виртуальных хостов. Некоторые рекомендации: 1. Идентификатор upstream не должен совпадать с именем любого хоста! 2. Для использования X-Real-IP с Apache необходимо в него установить модуль mod_rpaf. 3. Для обеспечения работы опции worker_rlimit_nofile необходимо поднять соответствующий лимит. 4. Если Apache установлен на ту же VE, то Nginx имеет смысл запускать из-под пользователя apache, либо как-то еще обеспечить ему доступ к файлам DocumentRoot. Так можно выдавать статику без помощи Apache, что значительно снижает расход памяти последним.