Nginx 反向代理Tomcat 高峰时报 connect() failed (110: Connection timed out) while connecting to upstream,

发布于 2021-11-26 18:25:20 字数 4772 浏览 1142 评论 12

Nginx 反向代理Tomcat 高峰时报 connect() failed (110: Connection timed out) while connecting to upstream,

nginx-upstream-jvm-route

 

操作系统 :虚拟化的:Centos 5.5 cpu 8核 内存12g 硬盘100G

Nginx 1.0.10  tomcat6.0 和nginx-upstream-jvm-route

平峰一切OK 反应很快, 一到高峰期就很多connect() failed (110: Connection timed out) while connecting to upstream,

因为用的是Session 所以客户端就频繁报超时了。

配置文件如下:

 

 

worker_processes  8;

worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

worker_rlimit_nofile 51200;

timer_resolution 2s; #此参数加上效果也不明显,1s都也试了

events {

    use epoll;

    worker_connections  51200;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    server_names_hash_bucket_size 192;

    client_header_buffer_size 64k;

    large_client_header_buffers 8 64k;

    client_max_body_size 300m;

    sendfile        on;

    tcp_nopush     on;

    tcp_nodelay   on;

    #keepalive_timeout  0;

    send_timeout 60;

    keepalive_timeout  30;

    client_body_buffer_size 512k;

    proxy_connect_timeout  60;

    proxy_read_timeout    120;

    proxy_send_timeout    600;

    proxy_buffer_size    64k;

    proxy_buffers    8 128k;

    proxy_busy_buffers_size 256k;

    proxy_temp_file_write_size   256k;

    gzip  on;

    gzip_min_length  1k;

    gzip_buffers  4 16k;

    gzip_http_version 1.1;

    gzip_comp_level  5;

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

    gzip_vary on;

    upstream jkda_server {     

      # tomcat http port and jvmroute name;

      server 127.0.0.1:7080 weight=2 srun_id=jkda8009;  

      server 127.0.0.1:8810 weight=2 srun_id=jkda8019;     

      server 127.0.0.1:8820 weight=2 srun_id=jkda8029;   

      server 127.0.0.1:8830 weight=2 srun_id=jkda8039;     

      server 127.0.0.1:8840 weight=2 srun_id=jkda8049;

      server 127.0.0.1:8850 weight=2 srun_id=jkda8059;     

      server 127.0.0.1:8860 weight=2 srun_id=jkda8069;    

      server 127.0.0.1:8870 weight=2 srun_id=jkda8079;     

      server 127.0.0.1:8880 weight=2 srun_id=jkda8089;   

      server 127.0.0.1:8890 weight=2 srun_id=jkda8099;      

      jvm_route $cookie_JSESSIONID|sessionid reverse;

      }  

server {

    listen       80  default backlog=32768;

    server_name  localhost;

access_log off;

location ~ .*.(gif|jpg|jpeg|png|bmp|swf|htm)$

{

expires 30d;

}

location ~ .*.(css)?$

{

expires 8h;

}

   location / {

        root   /usr/share/nginx/html;

        index  index.html index.htm;

    }

        location /jkda/{

          proxy_redirect          off;

          proxy_set_header        Host $http_host;

          proxy_set_header        X-Real-IP $remote_addr;

          proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

          proxy_pass http://jkda_server;

        }

 

    }

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(12

冷清清 2021-12-01 11:48:01

我们也出现这种问题了,楼上的问题解决了没。。。

清晨说ぺ晚安 2021-12-01 11:47:59

 最开始是用Apache+tomcat 分的少内存也大,高峰无无访问,估计应用写的应用也有问题还找不出原因,操作的动态请求响应也很快,用HttpWatch监控一班响应都在0.3S以下。

终遇你 2021-12-01 11:47:58

我今天调了一下配置,只把动态的交给Tomcat处理,今天效果好了点,没有再报,等再多高峰期再看了。

 

     server

  {

    listen       80 default backlog=32768;

    server_name  localhost;

    index index.html index.htm index.jsp default.jsp index.do default.do;

    root  /usr/local/nginx/html;

     if (-d $request_filename)

    {

        rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;

    }

    location ~ .(jsp|jspx|do|json)(.*)$ {                                                                                                                        

        proxy_set_header Host  $host;                                                                                                                          

        proxy_set_header X-Forwarded-For  $remote_addr;                                                                                                        

        proxy_pass http://jkda_server;                                                                                                                         

    }                                                                                                                                                          

    location ~ .*.(gif|jpg|jpeg|png|bmp|swf|htm)$

    {

        expires      30d;

    }

    location ~ .*.(css)?$

    {

        expires      7d;

    }

    #    access_log  off;

    }

背叛残局 2021-12-01 11:47:58

我在想,少开一点 tomcat 然后每个 tomcat 多分配一些内存有没好处呢

本王不退位尔等都是臣 2021-12-01 11:47:38

ulimit -a 显示结果,我已经在配置文件里加过了。

海之角 2021-12-01 11:47:20

启动nginx之前,加上ulimit -SHn 65535

女中豪杰 2021-12-01 11:45:32

gettimeofday 4398 网上查有说是这个原因造成的。因为是虚拟化的机器,

有没有人碰到过这种情况,

路还长,别太狂 2021-12-01 11:44:22

高峰期,tomcat的各个端口Time_wait较多,但ESTAB的,每个不超过3个,单机访问正常。。

网名女生简单气质 2021-12-01 11:37:07

以下是我高峰期抓的连接图

刘备忘录 2021-12-01 11:35:20

,我们这边也出现这种情况了,连续两天了。。 Nginx 反向代理Tomcat 高峰时报 connect() failed (110: ,

不乱于心 2021-11-28 00:24:30

我这边也是同样情况,写了个向客户端输出系统时间的极简单的java应用,jmeter高并发压力测试的时候就出现502了,connect failed,不知道是哪里问题。

海之角 2021-11-27 18:57:17

我估计啊,问题还是出在你的应用程序性能上,或者你试试高峰期直接访问 tomcat 看看。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文