<br><br><div class="gmail_quote">18 февраля 2011 г. 0:16 пользователь Александр Рочев <span dir="ltr">&lt;<a href="mailto:foxr@mail.ru">foxr@mail.ru</a>&gt;</span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Доброй ночи всем.<br>
Сегодня случайным образом выявилась большая проблема на сайте. Случайно зажав кнопку F5 в админке сайта получилось заставить сервер впасть в ступор, в top появилась куча httpd процессов, нагрузка на процессор 100% и сайт перестает отвечать (404 ошибка).<br>

Еще так же в админке есть пункт меню, в которых заходя идет запрос на второй сервер, с которого ему присылаются данные и попадают во фрейм. Так вот если на этой странице нажать F5 и держать, то снова возникает тьма процессов httpd, которые жрут 100% проца, но уже nginx отвечает на сайте 504 ошибку.<br>

<br>
Как можно средствами nginx ограничить количество запросов с одного допустим ip к серверу или может в конфиге ошибка, которая так кладет сайт. Пробовал на разных сайтах держать F5 им хоть бы что. Кто может сталкивался с такой проблемой, помогите, не радует что может сделать F5 с сайтом....<br>

<br>
Сервер 6 ядерный, памяти 32гб и рэйд 5 на скази дисках.<br></blockquote><div><br></div><div>Проблема наверняка в скриптах и/или бд. Я бы на вашем месте не ограничивал кол-во запросов с IP, а искал  что там так себя некрасиво ведёт что кладёт такую машинку на бок по F5, т.к. в решете воду не носят.</div>
<div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Работает связка nginx 0.8.5.4 + apache<br>
<br>
Настройки Апача<br>
&lt;IfModule mpm_prefork_module&gt;<br>
    StartServers          10<br>
    MinSpareServers       15<br>
    MaxSpareServers      30<br>
    MaxClients          150<br>
    MaxRequestsPerChild   0<br>
&lt;/IfModule&gt;<br>
Timeout 60<br>
KeepAlive Off<br>
MaxKeepAliveRequests 100<br>
KeepAliveTimeout 5<br>
<br>
user  www www;<br>
<br>
worker_processes  8;<br>
<br>
error_log  /pub/log/nginx/error_log  notice;<br>
<br>
pid        /var/run/nginx.pid;<br>
<br>
events {<br>
    worker_connections  1024;<br>
    use kqueue;<br>
        }<br>
<br>
http {<br>
    include       mime.types;<br>
    default_type  application/octet-stream;<br>
    server_names_hash_bucket_size 1024;<br>
    client_header_timeout  1m;<br>
    client_body_timeout    1m;<br>
    send_timeout           1m;<br>
    keepalive_timeout      1m;<br>
    sendfile        on;<br>
    client_max_body_size   20m;<br>
    proxy_connect_timeout  60;<br>
    proxy_send_timeout     60;<br>
    proxy_read_timeout     60;<br>
    proxy_buffer_size      128k;<br>
    proxy_buffers          64 128k;<br>
    proxy_busy_buffers_size 128k;<br>
    proxy_buffering        on;<br>
    large_client_header_buffers 16 32k;<br>
    gzip                   on;<br>
    gzip_static            on;<br>
    gzip_min_length        1000;<br>
    gzip_proxied           any;<br>
    gzip_types             text/plain text/xml application/xml application/x-javascript text/javascript text/css text/json;<br>
    gzip_disable           &quot;msie6&quot;;<br>
    gzip_comp_level        6;<br>
<br>
<br>
    log_format  main  &#39;$remote_addr - $remote_user [$time_local] &quot;$request&quot; &#39;<br>
                      &#39;$status $body_bytes_sent &quot;$http_referer&quot; &#39;<br>
                      &#39;&quot;$http_user_agent&quot; &quot;$http_x_forwarded_for&quot;&#39;;<br>
<br>
 access_log  /pub/log/nginx/access_log  main;<br>
<br>
server {<br>
        listen 80 default rcvbuf=8k sndbuf=16k;<br>
            }<br>
<br>
       }<br>
<br>
<br>
upstream bak {<br>
    server 127.0.0.1:port;<br>
             }<br>
<br>
<br>
server {<br>
<br>
reset_timedout_connection on;<br>
<br>
listen ip:80;<br>
<br>
server_name    <a href="http://test.ru" target="_blank">test.ru</a> <a href="http://www.test.ru" target="_blank">www.test.ru</a>;<br>
<br>
location ~* ^.+\.(htm|html|jpg|jpeg|gif|swf|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {<br>
                        root /pub/home/<a href="http://test.ru/www" target="_blank">test.ru/www</a>;<br>
<br>
access_log off;<br>
expires 5h;<br>
        }<br>
<br>
location ~ /\.ht {<br>
                deny  all;<br>
                    }<br>
<br>
location / {<br>
<br>
        proxy_set_header        Host            $http_host;<br>
<br>
        proxy_set_header        X-Real-IP $remote_addr;<br>
<br>
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for; # $remote_addr;<br>
<br>
        proxy_pass <a href="http://bak/" target="_blank">http://bak/</a>;<br>
        proxy_redirect <a href="http://test.ru:2003/" target="_blank">http://test.ru:2003/</a> <a href="http://test.ru/" target="_blank">http://test.ru/</a>;<br>
        proxy_redirect <a href="http://www.test.ru:2003/" target="_blank">http://www.test.ru:2003/</a> <a href="http://www.test.ru/" target="_blank">http://www.test.ru/</a>;<br>
<br>
        }<br>
        }<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Regards,<br>Slava<br>