设备上线使用的是http认证,emq通过nginx负载到后端的认证服务(认证服务使用netty写的),当设备上线并发很大的时候emq会报错如下:
然后查看nginx发现有大量的timewait
但是后端的认证服务也没有报错,连接状态都是established:
![image](https://askemq.com/uploads/default/original/2X/7/772591edaff1c5f58057ac2e4d58dc3d680ba3b1.png)
麻烦帮看下是什么原因呢
设备上线使用的是http认证,emq通过nginx负载到后端的认证服务(认证服务使用netty写的),当设备上线并发很大的时候emq会报错如下:
然后查看nginx发现有大量的timewait
麻烦帮看下是什么原因呢
你用的 emqx 具体的版本是多少。
这个 server_unavailable 看起来像是 http server 不可用了。给他的请求他没返回200。你得看看认证服务的日志(不过你说没有报错,如果是 5.6.1 的话,可以 trace 一下对应的客户端看看)。
nginx 有 timewait 现象正常的的,因为有大量的客户端连不上后在不断的在重连。不过这个 timewait 如果长时间没有缓解,可以通过系统调优来减少的。可以自行搜索一下这方面的资料。
改了nginx主机的系统配置,增加了快速回收之后还是会报错,这个有遇到过,有啥思路吗