美文网首页
7.4、惊群、性能优化大局观

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

作者: 奥斯特洛司机 | 来源:发表于2019-04-18 13:38 被阅读0次

    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。
    观察是否能解决惊群问题。
    master的监听套接字可以关闭掉。

      很多套接字配置项可以通过setsockopt来配置。
      还有一些tcp/ip协议的配置项可以通过修改配置文件来生效。
    

    2、性能优化大局观
    充分利用cpu;
    深入了解tcp/ip;
    业务逻辑性能;
    硬件;高速网卡、主板、总线。

    3、性能优化的实施
    3.1、绑定cpu、提升进程优先级
    绑定cpu:一个worker进程运行在一个核上。自己研究。
    提升进程优先级:setptiority()
    3.2、TCP/IP协议的配置选项
    3.3、TCP/IP协议额外注意的一些算法、概念等

    4、配置最大允许打开的文件句柄数

    5、内存池补充说明

    相关文章

      网友评论

          本文标题:7.4、惊群、性能优化大局观

          本文链接:https://www.haomeiwen.com/subject/xknzwqtx.html