Nginx+linux
Kostya Alexandrov
koticka at mail.ru
Sat May 31 16:49:28 MSD 2008
А чем sendfile не угодил?
Есть ли резон tcp_nodelay?
sleepy wrote:
> В сообщении от Saturday 31 May 2008 21:35:36 Andrew Velikoredchanin
> написал(а):
>
>> sleepy пишет:
>>
>>> Не могу понять в чем дело, у меня под Linux сервер уже сдыхает при 200 -
>>> 250 одновременных подключениях. Пробовал rtsig и epoll, толку ни какого.
>>> Перепробовал различные комбинации колличества worker процессов. С
>>> бэкендом общается через unix сокет, всего 5 пулов . В чем может быть
>>> проблемма и решаема ли она?
>>>
>> Вы забыли указать версию nginx, характер нагрузки, мощность сервера,
>> загруженность его другими задачами и т.д.
>>
>
> Прошу прощения,
> nginx version: nginx/0.6.31
> PHP 5.2.6
>
> Нагрузка в виде где то 500-700 одновременных пользователей, отдаются веб
> страницы в связке с php через fastcgi. Сервер c процессором Intel(R) Core(TM)
> 2 Duo CPU E8200 @ 2.66GHz память 8 Гб других задач на сервере нет!,
> процессор простаивает. на страницах скриптов пишется время генерации меньше
> 0,2 секунды, но страница отдаётся очень долго, вернее время между запросом и
> загрузкой достигает около полуминуты.
>
> Пробовал до этого переходить от старых версий к новым, ситуация не меняется.
>
> отслеживание по команде top даёт такую картину:
>
> сначала нет никакой нагрузки, не смотря на то что запросов уже много сделано,
> потом появляется на короткий промежуток в загрузке php процессы, быстро
> отрабатывают, и простой продолжается еще какое то время. Далее всё
> повторяется снова.
>
> Привожу конфиг:
>
> #user apache;
> worker_processes 25;
>
> #error_log logs/error.log;
> #error_log logs/error.log notice;
> #error_log logs/error.log info;
> #pid logs/nginx.pid;
>
>
> events {
> worker_connections 1024;
> #use rtsig;
> use epoll;
> }
>
>
> 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 logs/access.log main;
> server_tokens off;
> sendfile off;
> tcp_nopush off;
> tcp_nodelay on;
> keepalive_timeout 0;
> #keepalive_timeout 65;
> open_file_cache max=300 inactive=20s;
> open_file_cache_valid 30s;
> open_file_cache_min_uses 2;
> open_file_cache_errors on;
>
>
> # gzip on;
>
> upstream backend {
>
>
> server unix:/tmp/php1.sock;
> server unix:/tmp/php2.sock;
> server unix:/tmp/php3.sock;
> server unix:/tmp/php4.sock;
> server unix:/tmp/php.sock;
> }
>
>
> server {
> listen 80;
> server_name changeSource www.dsvload.net;
>
> #charset koi8-r;
>
> access_log logs/host.access.log main;
>
> location / {
> root /home/ftp/dsvload/dsvload.net ;
> index index.php index.html index.htm;
> }
> # error_page 404 /404.html;
>
> # redirect server error pages to the static page /50x.html
> #
> error_page 500 502 503 504 /50x.html;
> location = /50x.html {
> root html;
> }
>
> location ~ \.php$ {
> fastcgi_pass backend;
> fastcgi_index index.php;
> fastcgi_param
> SCRIPT_FILENAME /home/ftp/dsvload/dsvload.net$fastcgi_script_name;
> fastcgi_param QUERY_STRING $query_string;
> fastcgi_param REMOTE_ADDR $remote_addr;
>
> # - если скрипты обрабатывают запросы POST:
> fastcgi_param REQUEST_METHOD $request_method;
> fastcgi_param CONTENT_TYPE $content_type;
> fastcgi_param CONTENT_LENGTH $content_length;
>
> # - и все остальные:
> #fastcgi_param PATH_TRANSLATED $fastcgi_path_translated;
> fastcgi_param SCRIPT_NAME $fastcgi_script_name;
> fastcgi_param REQUEST_URI $request_uri;
> fastcgi_param DOCUMENT_URI $document_uri;
> fastcgi_param DOCUMENT_ROOT $document_root;
> fastcgi_param SERVER_PROTOCOL $server_protocol;
> fastcgi_param GATEWAY_INTERFACE CGI/1.1;
> fastcgi_param REMOTE_PORT $remote_port;
> fastcgi_param SERVER_ADDR $server_addr;
> fastcgi_param SERVER_PORT $server_port;
> fastcgi_param SERVER_NAME $server_name;
> fastcgi_param DOCUMENT_ROOT $document_root;
> #fastcgi_intercept_errors on;
>
>
> # include conf/fastcgi_params;
> }
> }
> # HTTPS server
> #
> #server {
> # listen 443;
> # server_name localhost;
>
> # ssl on;
> # ssl_certificate cert.pem;
> # ssl_certificate_key cert.key;
>
> # ssl_session_timeout 5m;
>
> # ssl_protocols SSLv2 SSLv3 TLSv1;
> # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:
> +EXP;
> # ssl_prefer_server_ciphers on;
>
> # location / {
> # root html;
> # index index.html index.htm;
> # }
> #}
>
>
>
> }
>
>
>
More information about the nginx-ru
mailing list