В настоящее время я сталкиваюсь с большой проблемой. Когда я сталкиваюсь с пиками трафика (> 4000 одновременных соединений Nginx), я получаю 502 ошибки (нет большого использования ресурсов) или замедления на сайте, я должен перезапустить php7.0 fpm, чтобы все снова заработало правильно. Я не Sysadmin (я пытаюсь учиться, как я иду), и я хотел бы знать, что будет лучшей конфигурацией.
Мое оборудование
Architecture: x86_64
Hard disk 240 Go SSD
CPU op-mode(s): 32-bit, 64-bit
Memory: 110 Go DDR3-1333
Byte Order: Little Endian
CPU(s): 24
On-line CPU(s) list: 0-23
Thread(s) per core: 2
Core(s) per socket: 6
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 45
Model name: Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz
Я ставлю только важные части конфигураций
Конфигурация PHP7.0-FPM
pm = static
pm.max_children = 500
pm.start_servers = 100
pm.min_spare_servers = 100
pm.max_spare_servers = 200
pm.process_idle_timeout = 1s;
pm.max_requests = 5000
Nginx Config
user www-data;
worker_processes 24;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
worker_rlimit_nofile 10240;
events {
worker_connections 4096;
use epoll;
multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
server_tokens off;
keepalive_timeout 65;
reset_timedout_connection on;
server_names_hash_bucket_size 256;
client_max_body_size 32k;
client_body_buffer_size 32k;
client_body_in_single_buffer on;
client_body_timeout 180s;
client_header_timeout 180s;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
Конфигурация сайта Nginx
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_connect_timeout 180s;
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
fastcgi_intercept_errors on;
fastcgi_max_temp_file_size 0;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
Заранее благодарю за совет, если хотите больше подробностей, не стесняйтесь, сообщите мне.
Задача ещё не решена.
Других решений пока нет …