Добрый день. Нужен совет профи, т.к. уже все перерыл ничего не помогает и не могу решить проблему. VPS Ubuntu стоит Nging +PHP-FPM7.4 Сайт работает нормально, но как только клиент загружает у себя в кабинете свои профили их там 100+, то они прогружаются через AJAX последовательно, т.е. пошел запрос ответ запрос ответ и т.д. не параллельно, и вот каждый раз на какой то шаге обрывает и выдает ошибку 502 Bad Gateway Настройки PHP такие Код (Text): [rkoffice] pm = dynamic pm.max_children = 25 pm.start_servers = 10 pm.min_spare_servers = 10 pm.max_spare_servers = 25 pm.max_requests = 500 php_admin_value[display_errors] = stderr php_admin_value[log_errors] = On php_admin_value[error_log] = /opt/php74/var/log/php.log slowlog = /opt/php74/var/log/php_slow.log request_slowlog_timeout=30s php_admin_value[error_reporting] = E_ALL & ~E_NOTICE ;listen = /var/www/php-fpm/rkoffice.sock listen = 127.0.0.1:9000 listen.mode = 0660 listen.owner = rkoffice listen.group = www-data user = rkoffice group = rkoffice chdir = / Настройки NGINX Код (Text): user www-data; worker_processes auto; worker_cpu_affinity auto; worker_rlimit_nofile 30000; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { use epoll; worker_connections 2048; multi_accept on; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; #access_log /var/log/nginx/access.log main; access_log off; limit_conn_zone $binary_remote_addr zone=lone:10m; limit_req_zone $binary_remote_addr zone=ltwo:10m rate=20r/s; limit_req_zone $binary_remote_addr zone=highspeed:10m rate=50r/s; proxy_connect_timeout 5; proxy_send_timeout 10; proxy_read_timeout 10; proxy_buffer_size 4k; proxy_buffers 32 16k; proxy_busy_buffers_size 32k; set_real_ip_from 127.0.0.1; sendfile on; tcp_nopush on; tcp_nodelay on; types_hash_max_size 2048; client_body_buffer_size 128k; client_header_buffer_size 4k; ###fastcgi_buffers 64 4K; fastcgi_buffer_size 32k; fastcgi_buffers 256 16k; fastcgi_max_temp_file_size 0; fastcgi_connect_timeout 300; large_client_header_buffers 8 32k; client_body_timeout 10; client_header_timeout 10; keepalive_timeout 65000; send_timeout 10; reset_timedout_connection on; server_names_hash_bucket_size 64; server_tokens off; gzip on; gzip_static on; gzip_min_length 1100; gzip_buffers 64 8k; gzip_comp_level 3; gzip_http_version 1.1; gzip_proxied any; gzip_types text/plain application/xml application/x-javascript text/css; ##proxy_connect_timeout 600s; ##proxy_send_timeout 600s; ##proxy_read_timeout 600s; fastcgi_send_timeout 600s; fastcgi_read_timeout 600s; server_name_in_redirect off; include /etc/nginx/conf.d/*.conf; include /etc/nginx/vhosts/*/*.conf; client_max_body_size 1024m; server { server_name localhost; disable_symlinks if_not_owner; include /etc/nginx/vhosts-includes/*.conf; location @fallback { error_log /dev/null crit; proxy_pass http://127.0.0.1:8080; proxy_redirect http://127.0.0.1:8080 /; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; access_log off ; } listen 80; listen [::]:80; } } В настройках Loaction так Код (Text): location / { location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } location / { try_files $uri $uri/ /index.php?$uri&$args; index index.php index.html; limit_req zone=highspeed burst=600 nodelay; fastcgi_buffers 16 256k; fastcgi_buffer_size 512k; #fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/var/www/phpfpm/rkoffice.sock; } limit_req zone=highspeed burst=600 nodelay; fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/var/www/php-fpm/rkoffice.sock; } location @php { fastcgi_index index.php; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@rkroom.in.ua"; #fastcgi_pass unix:/var/www/php-fpm/rkoffice.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$; try_files $uri =404; include fastcgi_params; limit_req zone=highspeed burst=600 nodelay; } Может кто то сталкивался, поделитесь опытом, потому что уже много чего пробовал но не помогает вот вылазит периодически и все, думаю может какие то настройки по количесвту запросов в какой то промежуток времени где то срабатывает, потому что если меньше грузить не 100, а к пример 20 то нормально все отрабатывает, а когда 100 бывает на 50 обрывает бывает на 90 по разному
Вы заработали ачивку "Серверный насильник" С вашим кодом явно что-то не так. 100 строк - фигня для сервера, но вы умудрились сделать невероятное. Я не имею ни малейшего понятия какие бизнес-процессы вы запускаете, поэтому мои полномочия на этом всё...
Сколько на одно выполнение: 1. съедает памяти 2. время выполнения 3. запросов к базе Без этих цифр гадать о причинах смысла нет.
Попробуйте дебагнуть полноценно Xhprof в помощь, у него есть удобный ui который показывает полный трейс выполнения