OVH Community, your new community space.

powolony nginx na czystym systemie


Linux admin
12-03-2012, 21:45
Ja bym powyłączał najpierw:

worker_cpu_affinity
gzip on
sendfile on

Zazwyczaj potem podchodzę trochę bardziej "programistycznie":

Można użyć strace -o log -r z programem, którego używasz do benchmarkowania. To wykryje np. takie sytuacje o jakich wspomina slawek22.

Jeżeli okaże się, że benchmark rzeczywiście czeka na serwer, to wtedy uruchomić pod strace -f -o log -r nginx i zobaczyć na co czeka nginx. Tu może pomóc uruchomienie go w trybie jednoprocesowym dla wygodniejszej analizy logów.

slawek22
12-03-2012, 20:30
Jeśli testowałeś na domenie spróbuj zamiast tego użyć adresu IP, możliwe, że coś z DNS-em.

oczkers
11-03-2012, 17:08
Ilość połączeń wygląda identycznie na lighttpd oraz testując z innej maszyny, wygląda to więc na problem z ograniczeniem maksymalnej ilości jednoczesnych połączeń (no ale przecież iptables nic nie ogranicza).

Cytat Napisał bart613
Fajne grafy -- czym je robiłeś?
http://blitz.io/play

bart613
11-03-2012, 17:02
Fajne grafy -- czym je robiłeś?

oczkers
11-03-2012, 15:40
Na minimalistycznym gentoo stoi praktycznie tylko nginx, obciążenie więc praktycznie zerowe a nie potrafi obsłużyć więcej niż ~60 rps (statyczny plik z trescia 'czesc').
Szczerze mówiąc nie mam pojęcia jaka może być przyczyna, w jaki sposób można to dogłębniej zdiagnozować?

Konfiguracja nginx:
Kod:
user nginx nginx;
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
#worker_rlimit_nofile 4096;
error_log /var/log/nginx/error_log warn;
events {
worker_connections 1024;
use epoll;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main
  '$remote_addr - $remote_user [$time_local] '
  '"$request" $status $bytes_sent '
  '"$http_referer" "$http_user_agent" '
  '"$gzip_ratio"';
#client_header_timeout 10m;
client_header_timeout 60;
#client_body_timeout 10m;
client_body_timeout 60;
#send_timeout 10m;
send_timeout 60;
connection_pool_size 256;
#client_max_body_size 4M;
client_header_buffer_size 1k;
large_client_header_buffers 4 8k;
#request_pool_size 4k;
request_pool_size 256;
server_tokens off;
gzip on;
gzip_min_length 0;
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 75 20;
keepalive_timeout 75;
ignore_invalid_headers on;




PS. Na czas testu wyczyściłem reguły iptables