Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Периодические подвисания при загрузке статики в nginx
iostat -x 10, ждем 10+ секунд, смотрим на последнюю колонку. Это будет
более-менее показательным вариантом для вас. Можно смотреть еще на w/s
и r/s или посмотреть на vmstat, но там надо знать пропускную
способность вашей дисковой системы под вашей конкретной нагрузкой.
2009/2/17 Алексей Загородников <admin@xxxxxxxxxxxx>:
> А еще подскажите вашим опытным глазом, на что стоит обратить внимание в
> iostat и что будет являться критерием загруженности дисковой системы.
>
> 17 февраля 2009 г. 10:22 пользователь Алексей Загородников
> <admin@xxxxxxxxxxxx> написал:
>>
>> Угумс, с нетерпением жду вечера, буду изучать.
>>
>> 2009/2/17 Alexey Kovyrin <alexey@xxxxxxxxxxx>
>>>
>>> а на iostat поглядеть? он вам скажет, справляется ли диск
>>>
>>> 2009/2/17 Алексей Загородников <admin@xxxxxxxxxxxx>:
>>> > Нули везде.
>>> > Сегодня попробую вынести mysql в рамдиск, если ситуацию исправит то
>>> > наверное
>>> > диск не справляется и стоит отдельный сервер под БД делать.
>>> >
>>> > 2009/2/17 Alexey Kovyrin <alexey@xxxxxxxxxxx>
>>> >>
>>> >> cat /proc/sys/net/ipv4/tcp_tw_recycle
>>> >> cat /proc/sys/net/ipv4/tcp_tw_reuse
>>> >>
>>> >> 2009/2/16 Алексей Загородников <admin@xxxxxxxxxxxx>:
>>> >> > Ресурсов харда вроде достаточно, там рейд0+1 собран на 4 дисках.
>>> >> >
>>> >> > Вот интересно былобы чтото найти про настройку Linux, такое ощущение
>>> >> > что
>>> >> > нехватает свободных сокетов ему, много соединений висит в TIME_WAIT.
>>> >> > Никаких файрволов нет, поддержка nf_conntrack вырезана из ядра.
>>> >> >
>>> >> >
>>> >> > 17 февраля 2009 г. 1:17 пользователь Асафов Сергей aka MurZiK
>>> >> > <Asafchik@xxxxxxxx> написал:
>>> >> >>
>>> >> >> Нагрузка на диски какая?Может в пик нагрузки просто недостаточно
>>> >> >> ресурсов
>>> >> >> жёсткого диска, чтобы считать и отдать файлы?
>>> >> >>
>>> >> >> ----- Original Message -----
>>> >> >> From: Алексей Загородников
>>> >> >> To: nginx-ru@xxxxxxxxx
>>> >> >> Sent: Monday, February 16, 2009 11:16 PM
>>> >> >> Subject: Периодические подвисания при загрузке статики в nginx
>>> >> >> Приветствую всех, возник следующий вопрос
>>> >> >> В городской сети поднят торрент-трекер, 20000 пользователей,
>>> >> >> примерно
>>> >> >> 5000
>>> >> >> уников в сутки, и 4000 одновременно подключенных торрент клиентов.
>>> >> >> Все это реализовано на nginx + fast-cgi, fcgi и nginx прикручены
>>> >> >> через
>>> >> >> unix socket, движек трекера - torrentpier. Конфигурация железки:
>>> >> >> 2*XeonE5410
>>> >> >> / 8Gb / RAID0+1
>>> >> >> В пик нагрузки начал наблюдать такие проблемы, странички через раз
>>> >> >> то
>>> >> >> открываются с отличной скорость, то зависает на загрузке от 10 до
>>> >> >> 200
>>> >> >> секунд, причем после загрузки показывается что пхп генерится как и
>>> >> >> обычно за
>>> >> >> 0,056сек.
>>> >> >> Попробовал испытать через ab просто статичную картинку, эффект
>>> >> >> тотже,
>>> >> >> просто наглухо виснет тест и все. В это время в нетстате клиента
>>> >> >> видно
>>> >> >> что
>>> >> >> соединения висят в SYN_SENT.
>>> >> >>
>>> >> >> Перепробовал уже большинство возможных вариантов найденных в инете,
>>> >> >> ничего
>>> >> >> не дает улучшения в производительности.
>>> >> >> Может кто сталкивался с подобной проблемой, подскажите решение.
>>> >> >>
>>> >> >> nginx version: nginx/0.7.34
>>> >> >>
>>> >> >> Вот примерный конфиг этого чуда:
>>> >> >> user nginx nginx;
>>> >> >> worker_processes 50;
>>> >> >> worker_rlimit_nofile 20192;
>>> >> >>
>>> >> >> error_log /var/log/nginx/error_log info;
>>> >> >>
>>> >> >> events {
>>> >> >> worker_connections 50192;
>>> >> >> use epoll;
>>> >> >> }
>>> >> >>
>>> >> >> http {
>>> >> >> include /etc/nginx/mime.types;
>>> >> >> default_type application/octet-stream;
>>> >> >> client_max_body_size 1000m;
>>> >> >> server_names_hash_bucket_size 64;
>>> >> >>
>>> >> >> log_format main
>>> >> >> '$remote_addr - $remote_user [$time_local] '
>>> >> >> '"$request" $status $bytes_sent '
>>> >> >> '"$http_referer" "$http_user_agent" '
>>> >> >> '"$gzip_ratio"';
>>> >> >>
>>> >> >> client_header_timeout 3m;
>>> >> >> client_body_timeout 3m;
>>> >> >> send_timeout 3m;
>>> >> >>
>>> >> >> connection_pool_size 2024;
>>> >> >> client_header_buffer_size 1k;
>>> >> >> large_client_header_buffers 4 2k;
>>> >> >> request_pool_size 4k;
>>> >> >>
>>> >> >> gzip off;
>>> >> >> # gzip_min_length 1100;
>>> >> >> # gzip_buffers 4 8k;
>>> >> >> # gzip_types text/plain;
>>> >> >>
>>> >> >> output_buffers 1 32k;
>>> >> >> postpone_output 1460;
>>> >> >>
>>> >> >> sendfile on;
>>> >> >> tcp_nopush on;
>>> >> >> tcp_nodelay on;
>>> >> >>
>>> >> >> keepalive_timeout 0;
>>> >> >> lingering_time 30;
>>> >> >> lingering_timeout 2;
>>> >> >> reset_timedout_connection on;
>>> >> >>
>>> >> >> # ignore_invalid_headers on;
>>> >> >>
>>> >> >> index index.html;
>>> >> >>
>>> >> >> server {
>>> >> >> listen 80;
>>> >> >>
>>> >> >> access_log off;
>>> >> >> # access_log /var/log/nginx/access_tr.log;
>>> >> >> error_log /var/log/nginx/error_tr.log;
>>> >> >> server_name_in_redirect off;
>>> >> >> server_name tltorrent.ru www.tltorrent.ru
>>> >> >> tltorrent.net.ru
>>> >> >> www.tltorrent.net.ru tr.xtlt.ru test.tr;
>>> >> >>
>>> >> >> error_page 502 /errors/502.html;
>>> >> >> error_page 403 /errors/403.html;
>>> >> >>
>>> >> >> location = /nginx_status {
>>> >> >> stub_status on;
>>> >> >> access_log off;
>>> >> >> allow all;
>>> >> >> }
>>> >> >>
>>> >> >> location / {
>>> >> >> root /var/www/tltorrent;
>>> >> >> index index.html index.htm index.php;
>>> >> >> }
>>> >> >>
>>> >> >> location ~ .php$ {
>>> >> >> # fastcgi_pass 127.0.0.1:1026;
>>> >> >> fastcgi_pass unix:/tmp/fcgi.sock;
>>> >> >>
>>> >> >> fastcgi_index index.php;
>>> >> >>
>>> >> >> fastcgi_connect_timeout 60;
>>> >> >> fastcgi_read_timeout 60;
>>> >> >> fastcgi_send_timeout 60;
>>> >> >>
>>> >> >> fastcgi_param SCRIPT_FILENAME
>>> >> >> /var/www/tltorrent$fastcgi_script_name;
>>> >> >> fastcgi_param QUERY_STRING $query_string;
>>> >> >> fastcgi_param REQUEST_METHOD $request_method;
>>> >> >> fastcgi_param CONTENT_TYPE $content_type;
>>> >> >> fastcgi_param CONTENT_LENGTH $content_length;
>>> >> >>
>>> >> >> 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 SERVER_SOFTWARE nginx;
>>> >> >>
>>> >> >> fastcgi_param REMOTE_ADDR $remote_addr;
>>> >> >> fastcgi_param REMOTE_PORT $remote_port;
>>> >> >> fastcgi_param SERVER_ADDR $server_addr;
>>> >> >> fastcgi_param SERVER_PORT $server_port;
>>> >> >> fastcgi_param SERVER_NAME $server_name;
>>> >> >> #$http_x_forwarded_host;
>>> >> >> fastcgi_param HTTP_HOST $http_host;
>>> >> >> #$http_x_forwarded_host;
>>> >> >>
>>> >> >> }
>>> >> >> location /forum/ub/ {
>>> >> >> rewrite ^/forum/ub/(.*).png$
>>> >> >> /forum/ub/ub.php?u=$1;
>>> >> >> }
>>> >> >>
>>> >> >>
>>> >> >> }
>>> >> >>
>>> >> >
>>> >> >
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> Alexey Kovyrin
>>> >> http://kovyrin.info/
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> Alexey Kovyrin
>>> http://kovyrin.info/
>>
>
>
--
Alexey Kovyrin
http://kovyrin.info/
|