专栏名称: 奥斯特洛司机
朝闻道,夕死矣。为中产而奋斗的小编
目录
相关文章推荐
航空工业  ·  AC313“吉祥鸟”:蓝天壮志十五载 ... ·  昨天  
航空工业  ·  上天入海铸造利器,通通离不开它! ·  2 天前  
51好读  ›  专栏  ›  奥斯特洛司机

7.4、惊群、性能优化大局观

奥斯特洛司机  · 简书  ·  · 2019-04-18 13:38

正文

1、cpu占比与惊群
top -p xxxx
当cpu有多个核的时候,每个cpu都有百分之百。
惊群:所有worker进程能感知到80端口的连接。但是只有一个worker进程调用accept成功。其它进程都做了无用功。这是操作系统的缺陷。
epoll_wait都会返回,
官方的nginx,四个worker进程争抢一个锁,只有抢到锁的worker进程才把可读标记放入红黑树中去。但这种方式是否也惊群了?
linux3.9版本以上内核据说解决了惊群的问题,性能比ngx效率高很多。
怎么解决的呢?复用端口。允许将多个套接字band到同一个ip地址端口上。这样就可以建立多个服务器来接收到同一个端口的连接。
REUSEPORT测试发现不生效。

课后作业:
listen能不能放到worker进程中。这样每一个worker都有一个不同的listen的sockid。







请到「今天看啥」查看全文