<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>Re: оЕПХНДХВЕЯЙХЕ ОНДБХЯЮМХЪ ОПХ ГЮЦПСГЙЕ ЯРЮРХЙХ Б nginx</title>
<META http-equiv=Content-Type content="text/html; charset=koi8-r">
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
body {
  margin: 5px 5px 5px 5px;
  background-color: #ffffff;
}
/* ========== Text Styles ========== */
hr { color: #000000}
body, table /* Normal text */
{
 font-size: 9pt;
 font-family: 'Courier New';
 font-style: normal;
 font-weight: normal;
 color: #000000;
 text-decoration: none;
}
span.rvts1 /* Heading */
{
 font-size: 10pt;
 font-family: 'Arial';
 font-weight: bold;
 color: #0000ff;
}
span.rvts2 /* Subheading */
{
 font-size: 10pt;
 font-family: 'Arial';
 font-weight: bold;
 color: #000080;
}
span.rvts3 /* Keywords */
{
 font-size: 10pt;
 font-family: 'Arial';
 font-style: italic;
 color: #800000;
}
a.rvts4, span.rvts4 /* Jump 1 */
{
 font-size: 10pt;
 font-family: 'Arial';
 color: #008000;
 text-decoration: underline;
}
a.rvts5, span.rvts5 /* Jump 2 */
{
 font-size: 10pt;
 font-family: 'Arial';
 color: #008000;
 text-decoration: underline;
}
span.rvts6
{
 font-size: 11pt;
 font-family: 'tahoma';
 font-weight: bold;
 color: #ffffff;
 background-color: #0000ff;
}
span.rvts7
{
 font-size: 11pt;
 font-family: 'tahoma';
}
a.rvts8, span.rvts8
{
 font-size: 11pt;
 font-family: 'tahoma';
 color: #0000ff;
 text-decoration: underline;
}
a.rvts9, span.rvts9
{
 color: #0000ff;
 text-decoration: underline;
}
/* ========== Para Styles ========== */
p,ul,ol /* Paragraph Style */
{
 text-align: left;
 text-indent: 0px;
 padding: 0px 0px 0px 0px;
 margin: 0px 0px 0px 0px;
}
.rvps1 /* Centered */
{
 text-align: center;
}
--></style>
</head>
<body>

<p>Hello Алексей,</p>
<p><br></p>
<p>в listen попробуйте поставить rcvbuf=8k sendbuf=8k.</p>
<p><br></p>
<p>Monday, February 16, 2009, 11:16:08 PM, you wrote:</p>
<p><br></p>
<div><table border=0 cellpadding=1 cellspacing=2>
<tr valign=top>
<td width=13 style="background-color: #0000ff;">
<p><span class=rvts6>&gt;</span></p>
</td>
<td width=1384 style="background-color: #ffffff;">
<p><span class=rvts7>Приветствую всех, возник следующий вопрос</span></p>
<p><span class=rvts7>В городской сети поднят торрент-трекер, 20000 пользователей, примерно 5000 уников в сутки, и 4000 одновременно подключенных торрент клиентов.</span></p>
<p><span class=rvts7>Все это реализовано на nginx + fast-cgi, fcgi и nginx прикручены через unix socket, движек трекера - torrentpier. Конфигурация железки: 2*XeonE5410 / 8Gb / RAID0+1</span></p>
<p><span class=rvts7>В пик нагрузки начал наблюдать такие проблемы, странички через раз то открываются с отличной скорость, то зависает на загрузке от 10 до 200 секунд, причем после загрузки показывается что пхп генерится как и обычно за 0,056сек.&nbsp;</span></p>
<p><span class=rvts7>Попробовал испытать через ab просто статичную картинку, эффект тотже, просто наглухо виснет тест и все. В это время в нетстате клиента видно что соединения висят в SYN_SENT.</span></p>
<p><br></p>
<p><span class=rvts7>Перепробовал уже большинство возможных вариантов найденных в инете, ничего не дает улучшения в производительности.</span></p>
<p><span class=rvts7>Может кто сталкивался с подобной проблемой, подскажите решение.</span></p>
<p><br></p>
<p><span class=rvts7>nginx version: nginx/0.7.34</span></p>
<p><br></p>
<p><span class=rvts7>Вот примерный конфиг этого чуда:</span></p>
<p><span class=rvts7>user nginx nginx;</span></p>
<p><span class=rvts7>worker_processes 50;</span></p>
<p><span class=rvts7>worker_rlimit_nofile 20192;</span></p>
<p><br></p>
<p><span class=rvts7>error_log /var/log/nginx/error_log info;</span></p>
<p><br></p>
<p><span class=rvts7>events {</span></p>
<p><span class=rvts7>&nbsp; &nbsp; worker_connections &nbsp;50192;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; use epoll;</span></p>
<p><span class=rvts7>}</span></p>
<p><br></p>
<p><span class=rvts7>http {</span></p>
<p><span class=rvts7>&nbsp; &nbsp; include &nbsp; &nbsp; &nbsp; &nbsp;/etc/nginx/mime.types;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; default_type &nbsp; &nbsp;application/octet-stream;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; client_max_body_size 1000m;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; server_names_hash_bucket_size 64;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; log_format main</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; '$remote_addr - $remote_user [$time_local] '</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '"$request" $status $bytes_sent '</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; '"$http_referer" "$http_user_agent" '</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; '"$gzip_ratio"';</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; client_header_timeout &nbsp; &nbsp;3m;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; client_body_timeout &nbsp; &nbsp;3m;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; send_timeout &nbsp; &nbsp; &nbsp; &nbsp;3m;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; connection_pool_size &nbsp; &nbsp; &nbsp; &nbsp;2024;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; client_header_buffer_size &nbsp; &nbsp;1k;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; large_client_header_buffers &nbsp; &nbsp;4 2k;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; request_pool_size &nbsp; &nbsp; &nbsp; &nbsp;4k;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; gzip off;</span></p>
<p><span class=rvts7># &nbsp; &nbsp;gzip_min_length &nbsp; &nbsp;1100;</span></p>
<p><span class=rvts7># &nbsp; &nbsp;gzip_buffers &nbsp; &nbsp;4 8k;</span></p>
<p><span class=rvts7># &nbsp; &nbsp;gzip_types &nbsp; &nbsp;text/plain;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; output_buffers &nbsp; &nbsp;1 32k;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; postpone_output &nbsp; &nbsp;1460;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; sendfile &nbsp; &nbsp;on;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; tcp_nopush &nbsp; &nbsp;on;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; tcp_nodelay &nbsp; &nbsp;on;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; keepalive_timeout &nbsp; &nbsp;0;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; lingering_time 30;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; lingering_timeout 2;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; reset_timedout_connection on;</span></p>
<p><br></p>
<p><span class=rvts7># &nbsp; &nbsp;ignore_invalid_headers &nbsp; &nbsp;on;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; index index.html;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; server {</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; listen 80;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; access_log off;</span></p>
<p><span class=rvts7># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;access_log /var/log/nginx/access_tr.log;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; error_log /var/log/nginx/error_tr.log;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; server_name_in_redirect off;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; server_name&nbsp;</span><a class=rvts8 href="http://tltorrent.ru">tltorrent.ru</a><span class=rvts7>&nbsp;</span><a class=rvts8 href="http://www.tltorrent.ru">www.tltorrent.ru</a><span class=rvts7>&nbsp;</span><a class=rvts8 href="http://tltorrent.net.ru">tltorrent.net.ru</a><span class=rvts7>&nbsp;</span><a class=rvts8 href="http://www.tltorrent.net.ru">www.tltorrent.net.ru</a><span class=rvts7>&nbsp;</span><a class=rvts8 href="http://tr.xtlt.ru">tr.xtlt.ru</a><span class=rvts7>&nbsp;</span><a class=rvts8 href="http://test.tr">test.tr</a><span class=rvts7>;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; error_page &nbsp;502 &nbsp;/errors/502.html;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; error_page &nbsp;403 &nbsp;/errors/403.html;&nbsp;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; location = /nginx_status {</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stub_status on;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; access_log &nbsp; off;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; allow all;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; location / {</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; root &nbsp; /var/www/tltorrent;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; index &nbsp;index.html index.htm index.php;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; location ~ .php$ {</span></p>
<p><span class=rvts7># &nbsp; &nbsp; &nbsp; &nbsp;fastcgi_pass &nbsp;&nbsp;</span><a class=rvts8 href="http://127.0.0.1:1026">127.0.0.1:1026</a><span class=rvts7>;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_pass unix:/tmp/fcgi.sock;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_index &nbsp;index.php;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; fastcgi_connect_timeout 60;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_read_timeout 60;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_send_timeout 60;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;SCRIPT_FILENAME &nbsp;/var/www/tltorrent$fastcgi_script_name;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;QUERY_STRING &nbsp; &nbsp; &nbsp; $query_string;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;REQUEST_METHOD &nbsp; &nbsp; $request_method;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;CONTENT_TYPE &nbsp; &nbsp; &nbsp; $content_type;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;CONTENT_LENGTH &nbsp; &nbsp; $content_length;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;SCRIPT_NAME &nbsp; &nbsp; &nbsp; &nbsp;$fastcgi_script_name;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;REQUEST_URI &nbsp; &nbsp; &nbsp; &nbsp;$request_uri;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;DOCUMENT_URI &nbsp; &nbsp; &nbsp; $document_uri;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;DOCUMENT_ROOT &nbsp; &nbsp; &nbsp;$document_root;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;SERVER_PROTOCOL &nbsp; &nbsp;$server_protocol;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;GATEWAY_INTERFACE &nbsp;CGI/1.1;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;SERVER_SOFTWARE &nbsp; &nbsp;nginx;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;REMOTE_ADDR &nbsp; &nbsp; &nbsp; &nbsp;$remote_addr;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;REMOTE_PORT &nbsp; &nbsp; &nbsp; &nbsp;$remote_port;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;SERVER_ADDR &nbsp; &nbsp; &nbsp; &nbsp;$server_addr;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;SERVER_PORT &nbsp; &nbsp; &nbsp; &nbsp;$server_port;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;SERVER_NAME &nbsp; &nbsp; &nbsp; &nbsp;$server_name;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; #$http_x_forwarded_host;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param &nbsp;HTTP_HOST &nbsp; &nbsp; &nbsp; &nbsp;$http_host;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; #$http_x_forwarded_host;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; location /forum/ub/ {</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rewrite ^/forum/ub/(.*).png$ /forum/ub/ub.php?u=$1;</span></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</span></p>
<p><span class=rvts7>&nbsp;</span></p>
<p><br></p>
<p><span class=rvts7>&nbsp; &nbsp; &nbsp; &nbsp; }</span></p>
<p><br></p>
</td>
</tr>
</table>
</div>
<p><br></p>
<p><br></p>
<p><br></p>
<p><br></p>
<p>Arkadiy Kulev &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<a class=rvts9 href="mailto:eth@ethaniel.com">mailto:eth@ethaniel.com</a></p>
<p>+7 495 5070602</p>
<p>Moscow, Russia</p>

</body></html>