502 ошибки шлюза после 68 одновременных пользователей сайта
Я сталкиваюсь с проблемами во время стресс-тестирования в 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;
}
}
1 ответ
Это не может быть проблемой сайта. Это может произойти из-за проблем между вашим генератором нагрузки и целью. Можете ли вы рассказать нам больше о вашей тестовой инфраструктуре? Где расположены генераторы нагрузки относительно тестируемого приложения / сервера? Вам нужно пройти через прокси для вашего общения? Как вы можете пересекать прыжки, которые могут ограничивать ваш запрос?