У меня возникли проблемы при выполнении стресс-тестирования в jMeter. По сути, мы достигли жесткого ограничения в 68 одновременных пользователей. Как только тест достигнет этого числа пользователей, мы получим 502 плохих ошибки шлюза.
Интересно то, что мы получаем такое же поведение отказов у 68 пользователей на виртуальной машине с удвоением ЦП и ОЗУ. Это наводит меня на мысль, что это проблема конфигурации. В конце концов, конфигурации наших док-контейнеров идентичны на каждом сервере.
Я пробовал поднять параметр worker_connections в nginx.conf, но это не помогло. Я даже перезапустил машину, чтобы убедиться, что применяются новые настройки.
Есть ли еще идеи, что посмотреть или попробовать?
Я не уверен, поможет ли это, но вот наша конфигурация на сервере nginx, которая дает сбой ...
upstream unicorn_server {
server unix:/app/tmp/unicorn.sock fail_timeout=0;
keepalive 512;
}
server {
listen 4043 ssl;
ssl_certificate /etc/nginx/certs/hive.crt;
ssl_certificate_key /etc/nginx/certs/hive.key;
gzip on;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types application/json;
root /app/public;
try_files $uri @unicorn_server;
keepalive_timeout 10;
location @unicorn_server {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https; # if use ssl
proxy_redirect off;
proxy_pass http://unicorn_server;
proxy_http_version 1.1;
}
location ~ ^/(assets|images|javascripts|stylesheets|swfs|system)/ {
gzip_static on;
expires max;
add_header Cache-Control public;
add_header Last-Modified "";
add_header ETag "";
open_file_cache max=1000 inactive=500s;
open_file_cache_valid 600s;
open_file_cache_errors on;
break;
}
}
Возможно, это не проблема сайта. Это может произойти из-за проблем между генератором нагрузки и целью. Не могли бы вы рассказать нам больше о своей тестовой инфраструктуре? Где расположены генераторы нагрузки относительно тестируемого приложения / сервера? Вам нужно использовать прокси для вашего общения? Какие хмели вы пересекаете, что может ограничивать ваш запрос?