ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Nginx медленно отдает статику медленным клиентам!


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Nginx медленно отдает статику медленным клиентам!
  • From: "ProxyKZ" <nginx-forum@xxxxxxxx>
  • Date: Fri, 12 Oct 2012 06:13:27 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=Date:Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=9utI9Fb2BPl4bmIzOiXwrOnUpixqmGQfdu2rFv93Q/8=; b=rRVyxnk6Wt+pnt6Fkf3vIXGy16mJ/OBVEwTm/LShZrSsXwgXJvPNI9gntIMj+chiWwozmV+Ri7piLLrPGB0zmR77hQNoTelWxSt81pV2Yz0G75ftEIDZrNV9OKJu1xhq;
  • In-reply-to: <2369997124c39c7bf9f3e0ead68fed2a@logol.ru>
  • References: <2369997124c39c7bf9f3e0ead68fed2a@logol.ru>

Top показывает обычно что Своп используется лишь частично:
Swap:  5831552k total,   130260k used,  5701292k free,   917452k cached

MaxClient в конфиге апача мы выставили так чтобы осатвалось всегда хотя бы
50-100Mb ОЗУ


Anes Mukhametov Wrote:
-------------------------------------------------------
> С 2-я ГБ памяти машина может элементарно свопиться даже на небольшои 
> числе запросов к прожорливым CGI скриптам. Посмотрите на своп.
> 
> ProxyKZ писал 2012-10-10 23:45:
> > Есть сервер хостинга Xeon 2,4GHz QuadCore / RAM 2Gb / SAS 500Gb 
> > работает
> > около 100 сайтов клиентов с посещаемостью по 50-100 в день и 7-10 
> > сайтов по
> > 1000-2000 в день. Nginx/0.6.32 раздает статику и стоит перед Apache.
> 
> > Раньше
> > Apache либо съедал всю память и nginx не могу до него дсотучаться 
> > выдавая
> > 502 и т.п. ошибки, потом ограничили в конфиге Апача MaxClient до 25
> и 
> > стало
> > стабильнее. Но после прописывания бОльшей части сайтов в Nginx - 
> > сайты эти
> > которых статику начал отдавать nginx стали тормозить - сильно
> азметно 
> > на
> > медленных клиентах. После нескольких запросов как будто пауза 
> > образуется, то
> > есть чем чаще обращение к сайту тем тормозит сильнее - на странице 
> > прямо
> > видно что недогружаются картинки и js и css, отладчик барузера часто
> > ругается на файлы что их нет (404), тут же если обновить страницу
> они 
> > могут
> > успешно загрузиться. У клиентов на широких каналах от 1MBit/s все 
> > леатет и
> > тормоза почти незаметны, а на медленных каждое 3-5-ое открытие
> любого 
> > сайта
> > замедляется от 10 секунд до даже минут иногда.
> >
> > Это конфиг Apache:
> > -----------------------------
> > ServerRoot "/etc/apache2"
> >
> > LockFile /var/lock/apache2/accept.lock
> >
> > PidFile ${APACHE_PID_FILE}
> >
> > Timeout 15
> > KeepAlive Off
> > MaxKeepAliveRequests 400
> > KeepAliveTimeout 3
> >
> > ExtendedStatus On
> >
> > <IfModule mpm_prefork_module>
> >     StartServers          1
> >     MinSpareServers       2
> >     MaxSpareServers      10
> >     MaxClients           25
> >     MaxRequestsPerChild   1000
> > </IfModule>
> >
> > <IfModule mpm_worker_module>
> >     StartServers          2
> >     MaxClients           50
> >     MinSpareThreads      25
> >     MaxSpareThreads      75
> >     ThreadsPerChild      25
> >     MaxRequestsPerChild   1000
> > </IfModule>
> >
> > # These need to be set in /etc/apache2/envvars
> > User ${APACHE_RUN_USER}
> > Group ${APACHE_RUN_GROUP}
> >
> > AccessFileName .htaccess
> >
> > #
> > # The following lines prevent .htaccess and .htpasswd files from 
> > being
> > # viewed by Web clients.
> > #
> > <Files ~ "^\.ht">
> >     Order allow,deny
> >     Deny from all
> > </Files>
> >
> > DefaultType text/plain
> >
> > HostnameLookups Off
> > ErrorLog /var/log/apache2/error.log
> > LogLevel info
> >
> > Include /etc/apache2/mods-enabled/*.load
> > Include /etc/apache2/mods-enabled/*.conf
> >
> > Include /etc/apache2/httpd.conf
> >
> > Include /etc/apache2/ports.conf
> >
> > LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
> > \"%{User-Agent}i\"" vhost_combined
> > LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" 
> > \"%{User-Agent}i\""
> > combined
> > LogFormat "%h %l %u %t \"%r\" %>s %b" common
> > LogFormat "%{Referer}i -> %U" referer
> > LogFormat "%{User-agent}i" agent
> >
> > Include /etc/apache2/conf.d/
> >
> > NameVirtualHost *:443
> > <VirtualHost _default_:443>
> >     ServerName example.com:443
> >     SSLEngine on
> >     SSLCertificateFile /etc/apache2/ssl.crt/server.crt
> >     SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
> > </VirtualHost>
> >
> > Include /usr/local/ispmgr/etc/ispmgr.inc
> >
> > <Directory /home/user/www/domen.example.com>
> >     AllowOverride all
> >     php_admin_value open_basedir "/home/user:."
> > </Directory>
> > -----------------------------
> > и т.д. описаны все хосты
> >
> >
> > Это конфиг Nginx:
> > -----------------------------
> > user www-data;
> > worker_processes  4;
> > worker_rlimit_nofile 16384;
> >
> > error_log  /var/log/nginx/error.log error;
> > pid        /var/run/nginx.pid;
> >
> > events {
> >     worker_connections  1024;
> >         use epoll;
> > }
> >
> > http {
> >     include       /etc/nginx/mime.types;
> >     default_type  application/octet-stream;
> >
> >     access_log      /var/log/nginx/access.log;
> >     #expires      30d;
> >     sendfile        on;
> >     tcp_nopush     on;
> >     tcp_nodelay        on;
> >     client_max_body_size       10m;
> >     client_body_buffer_size    16k;
> >     proxy_connect_timeout      60s;
> >     proxy_send_timeout         60s;
> >     proxy_read_timeout         60s;
> >     proxy_buffer_size          64k;
> >     proxy_buffers              4 32k;
> >     proxy_busy_buffers_size    64k;
> >     proxy_temp_file_write_size 10m;
> >
> >     gzip on;
> >     gzip_comp_level 3;
> >     gzip_proxied any;
> >     gzip_min_length  1000;
> >     gzip_types application/x-javascript text/css;
> >     gzip_disable "MSIE [1-6]\.(?!.*SV1)";
> >
> >     keepalive_timeout  35;
> >
> >
> >     include /etc/nginx/conf.d/*.conf;
> >     include /etc/nginx/sites-enabled/*;
> >     log_format  isp '$bytes_sent $request_length';
> >     server {
> >             listen 82.200.198.10:80;
> >             server_name example.com www.example.com;
> >             rewrite ^(/manager/.*)$ https://$host$1 permanent;
> >             error_page 404 = @fallback;
> >             location ~*
> ^/(webstat/|awstats|webmail/|myadmin/|manimg/|pgadmin/)
> > {
> >                     proxy_pass http://82.200.198.10:81;
> >                     proxy_redirect http://example.com:81/ /;
> >                     proxy_set_header Host $host;
> >                     proxy_set_header X-Forwarded-For 
> > $proxy_add_x_forwarded_for;
> >                     proxy_set_header X-Real-IP $remote_addr;
> >             }
> >             location / {
> >                     proxy_pass http://82.200.198.10:81;
> >                     proxy_redirect http://example.com:81/ /;
> >                     proxy_set_header Host $host;
> >                     proxy_set_header X-Forwarded-For 
> > $proxy_add_x_forwarded_for;
> >                     proxy_set_header X-Real-IP $remote_addr;
> >             }
> >             location ~*
> > 
> >
> ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|sw
> f)$ 
> > {
> >                     root /home/user/www/example.com;
> >                     access_log /home/httpd-logs/example.com.access.log ;
> >                     access_log /home/nginx-logs/user isp;
> >             }
> >             location @fallback {
> >                     proxy_pass http://82.200.198.10:81;
> >                     proxy_set_header Host $host;
> >                     proxy_set_header X-Forwarded-For 
> > $proxy_add_x_forwarded_for;
> >                     proxy_set_header X-Real-IP $remote_addr;
> >             }
> >     }
> > -----------------------------
> > и т.д. в таком же ключе еще 100 хостов прописано.
> >
> > Изменял по разному в конфиге Nginx следующие ключи:
> > worker_connections
> > worker_processes
> > sendfile
> > proxy_connect_timeout
> > proxy_send_timeout
> > proxy_read_timeout
> > gzip_proxied
> > gzip_comp_level
> > ничего не приводит к заметному результату, как тормозил у медленных 
> > клиентов
> > так и тормозит.
> >
> > Apache Server Status показывает максимум до 10 Request, то есть 
> > заметно что
> > нагрузка на него упала (раньше бывало до 20-25), но почему nginx
> стал 
> > так
> > медленно работать?
> >
> > в Top-е nginx почти не вылезает иногда до 2% CPU кушает, в основном 
> > кушают
> > CPU процессы Apache 3-4 штуки бывает под 30-70% но всего лишь на 
> > несколько
> > секунд и MySQL обычно кушает 20-30% , бывает 50-70% но тоже на 
> > считанные
> > секунды. В целом RAM и CPU не загружены когда проявляются тормоза.
> > Складывает такое ощущение, что nginx зажат какими то лимитами и не 
> > может
> > быстро раздавать статику, хотя ресурсы сервера еще позволяют это 
> > сделать.
> >
> > У меня админ уволился, найти грамотного не могу, вот пытаюсь сам
> > поддерживать сервер...
> > Огромная просьба к бывалым хостерам - помогите советом!!!
> >
> > Posted at Nginx Forum:
> > http://forum.nginx.org/read.php?21,231602,231602#msg-231602
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru@xxxxxxxxx
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> 
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,231602,231703#msg-231703

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.