问题背景
在多进程accept的时候,为了避免惊群效应浪费资源,nginx加了一个accept mutex,但是获取的方式是连接达到7/8之后则不再参与资源竞争
想法
我觉得必要性不是很大,逻辑还整复杂了,最简单的处理方式就是随机,谁抢到算谁的,当然这里面有个问题,假如当前cpu的资源分配不是很平衡,就可能会导致有的cpu干活多,有的干活少,但是系统的调度应该不至于有明显的不等。
实际测试发现,在压测的时候,有的cpu都压到70多,有的还只有10以下, 这就明显的调度有问题,也可能accept mutex的地方有问题,我改成随机的方式,则cpu都均衡在30左右了
网友评论