我在 jMeter 中进行压力测试时遇到了问题。实际上,我们达到了 68 个并发用户的硬性限制。一旦测试增加到该用户数,我们就会收到 502 个错误网关错误。
有趣的是,我们在一台 CPU 和 RAM 翻倍的虚拟机上遇到了 68 个用户的故障,这种行为非常相似。所以这让我相信这是一个配置问题。毕竟,每台服务器上的 docker 容器的配置都是相同的。
我尝试过提高 nginx.conf 中的 worker_connections 设置,但没有任何效果。我甚至重启了机器以确保新设置已应用。
还有其他值得研究或尝试的想法吗?
我不确定这是否有帮助,但这是我们在出现故障的 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;
}
}