Welcome! Log In Create A New Profile

Advanced

Оптимизация работы nginx.Проблема с новыми соединениями

October 20, 2010 12:16AM
Коллеги, нужна помощь.

Сам по роду деятельности не администратор, работаю в сопровождение, но т.к. занимался данным проектом отдуваться приходиться мне.

Есть сервер 8 ядер по 2Ghz 4 GB оперативной памяти, 2 гигабитных сетевки.
На сервере работает nginx для проксирования запросов.
Также работает fast-cgi php на котором крутиться один простой скрипт.

Ничем кроме проксирования сервер не занимается.

В среднем через сервер проходит 300-500 запросов в секунду.

В свое время на сервер было зарулено много трафика(порядка 120-200 Мбит/сек) и сервер нормально справлялся с нагрузкой.
Запросы по своей сути были быстрыми(отдача статики)

Потом трафик на сервере снизился, но появились более тяжелые запросы, к пример уотдача видео и аудио.

И начались проблемы.

Вроде при малом количетсве активных конектов по sockstat
sockets: used 3043
TCP: inuse 6373 orphan 3462 tw 2466 alloc 6374 mem 36350

новые соединения к серверу либо отваливаются по тайм-ауту либо соединяются очень долго.

Память и процессор при это практически не используется.

Конфиг sysctl
sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_window_scaling = 1
net.core.rmem_max = 33554432
net.core.wmem_max = 33554432
net.ipv4.tcp_rmem = 8192 131072 33554432
net.ipv4.tcp_wmem = 8192 131072 33554432
net.ipv4.tcp_max_orphans = 512384
net.ipv4.tcp_sack = 1
net.ipv4.tcp_mem = 101152 129536 196304
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_time = 10
net.ipv4.tcp_keepalive_intvl = 1
net.ipv4.tcp_keepalive_probes = 1
net.core.netdev_max_backlog = 3000
net.core.somaxconn = 65536
net.ipv4.tcp_timestamps = 1
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_max_syn_backlog = 65536
net.ipv4.tcp_synack_retries = 5
fs.file-max = 1524288
net.core.rmem_default = 201250
net.core.wmem_default = 201250
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_congestion_control = cubic
net.ipv4.tcp_max_tw_buckets = 1440000


конфиг nginx

user nginx nginx;
worker_processes 8;
worker_rlimit_nofile 65536;

#
#error_log /var/log/nginx/error_log info;

events {
worker_connections 65536;
use epoll;
}

...

client_header_timeout 10m;
client_body_timeout 10m;
send_timeout 10;

connection_pool_size 256;
client_header_buffer_size 1k;
large_client_header_buffers 4 2k;
request_pool_size 4k;

gzip on;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_types text/plain;

output_buffers 1 32k;
postpone_output 1460;

sendfile on;
# tcp_nopush on;
tcp_nodelay on;

ignore_invalid_headers off;

#--- begin --------------------------
proxy_buffering off;
proxy_ignore_client_abort off;
proxy_max_temp_file_size 0;

keepalive_timeout 10 10;
reset_timedout_connection on;
proxy_buffer_size 4k;

proxy_read_timeout 10s;
proxy_send_timeout 10s;

#--- end ------------------------------


Вопрос: хочется понять в какую сторону копать. Что может ограничивать соединения.
Subject Author Posted

Оптимизация работы nginx.Проблема с новыми соединениями

unclead October 20, 2010 12:16AM

Re: Оптимизация работы nginx.Проблема с новыми соединениями

Alex Vorona October 20, 2010 12:54AM

Re: Оптимизация работы nginx.Проблема с новыми соединениями

unclead October 20, 2010 01:14AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 217
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready