每个进程cpu占用大概10%-20%,但是请求执行时间时不时就超100毫秒,有的请求是含内网redis读写,有的是纯计算的也超,上下文切换是不是过高了?会是什么问题?
是不是进程开多了还是频繁redis读写?
走外网一个请求超过100ms很正常
都是纯方法耗时,外网请求量上来后耗时就都开始超过了,但每个进程cpu占用还是10-20%
你在哪里看到耗时100ms? cpu多少核?进程数多少?
onmessage有统计每个请求处理耗时,超时会打印,64核,(gatewayworker4+businessworker1)*100
(gatewayworker4+businessworker1)*100 什么意思?
就是100个gatewayworker项目,里面4gateway对1business
100个gatewayworker项目? 如果是100个gatewayworker项目,每个gatewayworker项目开一个gateway进程就行了。 gateway开太多了进程间通讯消耗会变大,进程切换开销变大,导致性能下降
好的,我试下
gatewayworker负载数据转发到worker进程上是异步非阻塞模式,真正处理的业务的是worker进程,worker进程可以多一点,如果io比较多建议多开worker进程
走外网一个请求超过100ms很正常
都是纯方法耗时,外网请求量上来后耗时就都开始超过了,但每个进程cpu占用还是10-20%
你在哪里看到耗时100ms? cpu多少核?进程数多少?
onmessage有统计每个请求处理耗时,超时会打印,64核,(gatewayworker4+businessworker1)*100
(gatewayworker4+businessworker1)*100 什么意思?
就是100个gatewayworker项目,里面4gateway对1business
100个gatewayworker项目?
如果是100个gatewayworker项目,每个gatewayworker项目开一个gateway进程就行了。
gateway开太多了进程间通讯消耗会变大,进程切换开销变大,导致性能下降
好的,我试下
gatewayworker负载数据转发到worker进程上是异步非阻塞模式,真正处理的业务的是worker进程,worker进程可以多一点,如果io比较多建议多开worker进程