Nginx+linux
CoolCold
coolcold at coolcold.org
Sat May 31 21:44:35 MSD 2008
Hello sleepy,
а статика нормально отдаётся? если запустить ab паралельно в 100-200-500 потоков?
Я так понимаю что соединение устанавливается быстро, но время ответа большое, или соединение долго устанавливается?
В любом случае посмотрите что у вас в
net.ipv4.tcp_max_syn_backlog
net.core.somaxconn
net.core.netdev_max_backlog
по дефолту net.core.somaxconn может быть 512 или даже 128, попробуйте поднять до 1024, 2048, только nginx перезапустите
после этого.
ну и в нгиксе пропишите backlog, типа:
listen 80 default backlog=4096;
Saturday, May 31, 2008, 3:45:27 PM, you wrote:
s> В сообщении от Saturday 31 May 2008 21:35:36 Andrew Velikoredchanin
s> написал(а):
>> sleepy пишет:
>> > Не могу понять в чем дело, у меня под Linux сервер уже сдыхает при 200 -
>> > 250 одновременных подключениях. Пробовал rtsig и epoll, толку ни какого.
>> > Перепробовал различные комбинации колличества worker процессов. С
>> > бэкендом общается через unix сокет, всего 5 пулов . В чем может быть
>> > проблемма и решаема ли она?
>>
>> Вы забыли указать версию nginx, характер нагрузки, мощность сервера,
>> загруженность его другими задачами и т.д.
s> Прошу прощения,
s> nginx version: nginx/0.6.31
s> PHP 5.2.6
s> Нагрузка в виде где то 500-700 одновременных пользователей, отдаются веб
s> страницы в связке с php через fastcgi. Сервер c процессором Intel(R) Core(TM)
s> 2 Duo CPU E8200 @ 2.66GHz память 8 Гб других задач на сервере нет!,
s> процессор простаивает. на страницах скриптов пишется время генерации меньше
s> 0,2 секунды, но страница отдаётся очень долго, вернее время между запросом и
s> загрузкой достигает около полуминуты.
s> Пробовал до этого переходить от старых версий к новым, ситуация не меняется.
s> отслеживание по команде top даёт такую картину:
s> сначала нет никакой нагрузки, не смотря на то что запросов уже много сделано,
s> потом появляется на короткий промежуток в загрузке php процессы, быстро
s> отрабатывают, и простой продолжается еще какое то время. Далее всё
s> повторяется снова.
s> Привожу конфиг:
s> #user apache;
s> worker_processes 25;
s> #error_log logs/error.log;
s> #error_log logs/error.log notice;
s> #error_log logs/error.log info;
s> #pid logs/nginx.pid;
s> events {
s> worker_connections 1024;
s> #use rtsig;
s> use epoll;
s> }
s> http {
s> include mime.types;
s> default_type application/octet-stream;
s> log_format main '$remote_addr - $remote_user [$time_local] $request '
s> '"$status" $body_bytes_sent "$http_referer" '
s> '"$http_user_agent" "$http_x_forwarded_for"';
s> #access_log logs/access.log main;
s> server_tokens off;
s> sendfile off;
s> tcp_nopush off;
s> tcp_nodelay on;
s> keepalive_timeout 0;
s> #keepalive_timeout 65;
s> open_file_cache max=300 inactive=20s;
s> open_file_cache_valid 30s;
s> open_file_cache_min_uses 2;
s> open_file_cache_errors on;
s> # gzip on;
s> upstream backend {
s> server unix:/tmp/php1.sock;
s> server unix:/tmp/php2.sock;
s> server unix:/tmp/php3.sock;
s> server unix:/tmp/php4.sock;
s> server unix:/tmp/php.sock;
s> }
s> server {
s> listen 80;
s> server_name dsvload.net www.dsvload.net;
s> #charset koi8-r;
s> access_log logs/host.access.log main;
s> location / {
s> root /home/ftp/dsvload/dsvload.net ;
s> index index.php index.html index.htm;
s> }
s> # error_page 404 /404.html;
s> # redirect server error pages to the static page /50x.html
s> #
s> error_page 500 502 503 504 /50x.html;
s> location = /50x.html {
s> root html;
s> }
s> location ~ \.php$ {
s> fastcgi_pass backend;
s> fastcgi_index index.php;
s> fastcgi_param
s> SCRIPT_FILENAME /home/ftp/dsvload/dsvload.net$fastcgi_script_name;
s> fastcgi_param QUERY_STRING $query_string;
s> fastcgi_param REMOTE_ADDR $remote_addr;
s> # - если скрипты обрабатывают запросы POST:
s> fastcgi_param REQUEST_METHOD $request_method;
s> fastcgi_param CONTENT_TYPE $content_type;
s> fastcgi_param CONTENT_LENGTH $content_length;
s> # - и все остальные:
s> #fastcgi_param PATH_TRANSLATED $fastcgi_path_translated;
s> fastcgi_param SCRIPT_NAME $fastcgi_script_name;
s> fastcgi_param REQUEST_URI $request_uri;
s> fastcgi_param DOCUMENT_URI $document_uri;
s> fastcgi_param DOCUMENT_ROOT $document_root;
s> fastcgi_param SERVER_PROTOCOL $server_protocol;
s> fastcgi_param GATEWAY_INTERFACE CGI/1.1;
s> fastcgi_param REMOTE_PORT $remote_port;
s> fastcgi_param SERVER_ADDR $server_addr;
s> fastcgi_param SERVER_PORT $server_port;
s> fastcgi_param SERVER_NAME $server_name;
s> fastcgi_param DOCUMENT_ROOT $document_root;
s> #fastcgi_intercept_errors on;
s> # include conf/fastcgi_params;
s> }
s> }
s> # HTTPS server
s> #
s> #server {
s> # listen 443;
s> # server_name localhost;
s> # ssl on;
s> # ssl_certificate cert.pem;
s> # ssl_certificate_key cert.key;
s> # ssl_session_timeout 5m;
s> # ssl_protocols SSLv2 SSLv3 TLSv1;
s> # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:
s> +EXP;
s> # ssl_prefer_server_ciphers on;
s> # location / {
s> # root html;
s> # index index.html index.htm;
s> # }
s> #}
s> }
np: Canadian Culture 2.0 - 002 - Kristoff & Tristan Newton
Best regards,
CoolCold [COOLCOLD-RIPN]
More information about the nginx-ru
mailing list