nginx+tomcat集群下的压力测试

lumia_zkk 2014-05-02 12:02:32
我现在在单机下尝试模拟nginx+tomcat集群的配置,开了3台虚拟机,1台作nginx服务器另外两台作tomcat服务器。
tomcat下的也设置了maxThreads和timeOut的值。

nginx配的是将所有请求全部转发给后端的两台tomcat。

最后再装了nginx的虚拟机上用ab进行压力测试,在 -n 10000 -c 1500的时候
去测试192.168.171.134:18082没有问题,而测用127.0.0.1测nginx的时候则报错了。
apr_socket_recv: Connection timed out (110)


这个错误去查了说是修改sysctl.conf的参数,关于内核的优化我也去改过了,不过没用。按理说如果是这个问题的话,测192.168.171.134的时候同样是1500并发也应该报错的,但只有测nginx的时候才会报错,而且如果不用nginx的proxy_pass,单单测nginx下的html页面也不会报错。

还有比较奇怪的是,为什么配了nginx做负载均衡后无论用ab还是webbench测试得到的结果都是加上nginx后更慢呢而且还容易fail,我用的是tomcat的主页index.jsp作的测试页面

那么是不是我nginx哪里配的不对呢,我一时想不明白,有人能帮助我吗?

nginx.conf

user nobody;
worker_processes 2;
worker_rlimit_nofile 204800;

events {
use epoll;
worker_connections 204800;
}

http {
include mime.types;

default_type application/octet-stream;

fastcgi_intercept_errors on;

charset utf-8;

server_names_hash_bucket_size 128;

client_header_buffer_size 4k;

large_client_header_buffers 4 32k;

client_max_body_size 300m;

sendfile on;

tcp_nopush on;

keepalive_timeout 60;

tcp_nodelay on;

client_body_buffer_size 512k;

proxy_connect_timeout 5;

proxy_read_timeout 60;

proxy_send_timeout 5;

proxy_buffer_size 16k;

proxy_buffers 4 64k;

proxy_busy_buffers_size 128k;

proxy_temp_file_write_size 128k;

gzip on;

gzip_min_length 1k;

gzip_buffers 4 16k;

gzip_http_version 1.1;

gzip_comp_level 2;

gzip_types text/plain application/x-javascript text/css application/xml;

gzip_vary on;
upstream abc {
server 192.168.171.4:8080 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.171.134:18082 weight=1 max_fails=2 fail_timeout=30s;
}
server {
listen 80;
server_name localhost;
large_client_header_buffers 4 16k;
client_max_body_size 300m;
client_body_buffer_size 128k;
proxy_connect_timeout 6000;
proxy_read_timeout 6000;
proxy_send_timeout 6000;
proxy_buffer_size 64k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

location / {
proxy_next_upstream http_502 http_504 http_404 error timeout invalid_header;

proxy_pass http://abc;
}

}
}
...全文
675 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
虚拟机本身也会有问题。毕竟不是硬件物理机器
MiceRice 2014-05-06
  • 打赏
  • 举报
回复
经过Nginx稍微慢点点是合理的,毕竟转发+压缩。 apr_socket_recv: Connection timed out (110) 这个问题要结合Nginx的日志来定位下,究竟是Nginx自己的工作线程满了导致ab连接超时,还是它访问后端Tomcat的时候超时。我觉得更像是前者。
lumia_zkk 2014-05-03
  • 打赏
  • 举报
回复
help.....

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧