Serwer Nginx i wynik: HTTP 400, czy jest zbyt dużo połączeń?
: 13 września 2012, 14:07
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.
Ustawienia serwera nginx.conf:
Zrzut ekranu obciążenia serwera wynik htop:
http://scr.hu/0r/6u1ix
Obciążenie dysku:
accsess.log
Wynik:
od 130 do ponad 1000.
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.