我在cluser
中有一个具有以下配置的glassfish服务器Nginx用作负载均衡器,我非常好 配置为此。当我试图解雇200-300个并发用户时 使用JMeter在10秒内,性能在第200次后开始下降 请求。请参阅随附的屏幕截图。你可以看到抽样 时间,这真的很糟糕。 需要做哪些更改才能实现 提高性能。如何达到1000到2000个并发用户 在5到10秒内不影响性能。
我使用MySql作为后端数据库。
我确实在服务器中安装了memcached缓存。实际上没有 请求等待mysql查询完成。我在缓存 它从memcache中获取所有内容,因此我认为不需要 数据库方面的改进。
## http redirects to https ##
server {
listen 80;
server_name xxxx;
# Strict Transport Security
add_header Strict-Transport-Security max-age=2592000;
rewrite ^/.*$ https://$host$request_uri? permanent;
}
server {
listen 443 ssl;
server_name xxxx;
location / {
try_files $uri $uri/ @backend;
}
## default location ##
location @backend {
proxy_buffering off;
proxy_pass http://glassfish_servers;
proxy_http_version 1.1;
proxy_set_header Connection "";
# force timeouts if the backend dies
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
#proxy_redirect off;
# set headers
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
ssl_certificate /etc/nginx/ssl/ssl-bundle.crt;
ssl_certificate_key /etc/nginx/ssl/xxxx.key;
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 10m;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
}