开多进程cpu拉不上来会是什么问题?

嘿嘿哈哈

问题描述


每个进程cpu占用大概10%-20%,但是请求执行时间时不时就超100毫秒,有的请求是含内网redis读写,有的是纯计算的也超,上下文切换是不是过高了?会是什么问题?

为此你搜索到了哪些方案及不适用的原因

是不是进程开多了还是频繁redis读写?

562 1 0
1个回答

walkor

走外网一个请求超过100ms很正常

  • 嘿嘿哈哈 2023-07-21

    都是纯方法耗时,外网请求量上来后耗时就都开始超过了,但每个进程cpu占用还是10-20%

  • walkor 2023-07-21

    你在哪里看到耗时100ms? cpu多少核?进程数多少?

  • 嘿嘿哈哈 2023-07-21

    onmessage有统计每个请求处理耗时,超时会打印,64核,(gatewayworker4+businessworker1)*100

  • walkor 2023-07-21

    (gatewayworker4+businessworker1)*100 什么意思?

  • 嘿嘿哈哈 2023-07-21

    就是100个gatewayworker项目,里面4gateway对1business

  • walkor 2023-07-21

    100个gatewayworker项目?
    如果是100个gatewayworker项目,每个gatewayworker项目开一个gateway进程就行了。
    gateway开太多了进程间通讯消耗会变大,进程切换开销变大,导致性能下降

  • 嘿嘿哈哈 2023-07-21

    好的,我试下

  • dadou87 2023-07-25

    gatewayworker负载数据转发到worker进程上是异步非阻塞模式,真正处理的业务的是worker进程,worker进程可以多一点,如果io比较多建议多开worker进程

🔝