Serwer Nginx i wynik: HTTP 400, czy jest zbyt dużo po

Konfiguracja serwerów, usług, itp.
panisher
Posty: 12
Rejestracja: 23 lipca 2011, 11:48

Serwer Nginx i wynik: HTTP 400, czy jest zbyt dużo połączeń?

Post autor: panisher »

Mam serwer CDN z dyskiem SSD, jest tam 3,6 miliona plików, 30GB danych. Mam problem z obsługą połączeń do serwera, nie wiem dokładnie gdzie leży problem.

Sprawdziłem w netstat ilość pakietów i teraz nie wiem, czy jest to dużo, czy mało i czy nie powinienem dorzucić kolejnego serwera.

Kod: Zaznacz cały

netstat -s | less
Ip:
    376100482 total packets received
    0 forwarded
    0 incoming packets discarded
    376100085 incoming packets delivered
    331050076 requests sent out
    3 outgoing packets dropped
    58 fragments dropped after timeout
    708 reassemblies required
    315 packets reassembled ok
    58 packet reassembles failed
    1 fragments failed
Icmp:
    40965 ICMP messages received
    766 input ICMP message failed.
    ICMP input histogram:
        destination unreachable: 12916
        timeout in transit: 4163
        wrong parameters: 1
        source quenches: 40
        redirects: 564
        echo requests: 22850
        echo replies: 3
    48529 ICMP messages sent
    0 ICMP messages failed
    ICMP output histogram:
        destination unreachable: 25634
        time exceeded: 45
        echo replies: 22850
IcmpMsg:
        InType0: 3
        InType3: 12916
        InType4: 40
        InType5: 564
        InType8: 22850
        InType11: 4163
        InType12: 1
        OutType0: 22850
        OutType3: 25634
        OutType11: 45
Tcp:
    3494936 active connections openings
    25825346 passive connection openings
    172349 failed connection attempts
    240606 connection resets received
    381 connections established
    367636321 segments received
    468587107 segments send out
    17927768 segments retransmited
    3186 bad segments received.
    878827 resets sent
Udp:
    8315317 packets received
    26942 packets to unknown port received.
    4 packet receive errors
    8534275 packets sent

Ustawienia serwera nginx.conf:

Kod: Zaznacz cały

user www-data;
worker_processes  1;


error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;


events {
    worker_connections  32096;
    multi_accept on;
    use epoll;
}


http {


    include       /etc/nginx/mime.types;
        charset                 utf-8;
    access_log  /var/log/nginx/access.log;




    sendfile        on;
    tcp_nopush     on;




    client_body_timeout 10;
    client_header_timeout 10;


    #keepalive_timeout  0;
    keepalive_timeout  65;
    keepalive_requests 1000;


    tcp_nodelay        on;






    gzip  off;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";


    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

Zrzut ekranu obciążenia serwera wynik htop:
http://scr.hu/0r/6u1ix

Obciążenie dysku:

Kod: Zaznacz cały

cat /proc/diskstats | grep md7
9       7 md7 1809884 0 20684298 0 35826729 0 307350824 0 0 0 0

accsess.log

Kod: Zaznacz cały

ip - - [13/Sep/2012:14:05:10 +0200] "-" 400 0 "-" "-"
...

Wynik:

Kod: Zaznacz cały

netstat -tn | wc -l

od 130 do ponad 1000.
ODPOWIEDZ