公司业务需要用 node 转发微信消息给其他后端服务器,每次推送 20W 模板消息, node 会收到 TEMPLATESENDJOBFINISH 的消息回复
一开始和这个问题的情况类似,逻辑很简单,就接受消息转发消息,也是用 request 发送消息,并发量一大后面的请求处理时间就很长,导致经常 5s 内无法响应微信服务器进而报警。后来查了半天发现 node 默认线程池只有 4 个线程,以及 socket 池最多 5 个 socket 连接,于是就把这两个给调大了,竟然有用,好的时候都能在 5s 内处理完,但还是发生了一两次超时的情况,微信报警都是 1W+ 的无返回。
目前看来大部分时候能处理完,说明 node 本身应该是能撑住这么多并发。但那一两次报警都有 1W+,显然也不正常,而那一两次报警时,接受的请求和数量都没什么不同,求教大家可能的情况?
大家如果有其他 node 性能优化或者高并发的建议,也欢迎讨论
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.