haproxy io框架之sepoll

haproxy io 之sepoll

haporxy 支持多种io事件框架 poll、select、kqueue、epoll、sepoll, 其中sepoll从epoll中衍生而来;sepoll事件框架性能之所以优于epoll事件框架,是因为sepoll处理事件分为了投机事件和指定事件。

指定事件
通过epoll_wait 得到的事件信息

投机事件
是指一个新的句柄加入事件框架监听时,先加入投机事件队列,事件框架先处理投机事件队列的句柄,若通过读、写发现并无成功结果,再加入指定事件通过epoll_wait中监听事件,比如一个新accept出来的子连接句柄,即可认为马上可读,对应http协议来说是很有可能的,如果未读到数据,再加入epoll_wait监听,或者; 同样,一个connect成功的句柄,即认为当前连接马上可写;
或者某个句柄刚完成读操作,加入事件框架,先加入投机事件队列

如此通过投机方式,认为可读或者可写,可以减少一次epoll_wait的扫描过程,同时也更好利用的cpu cache的利用率;

另外,事件框架中会从投机事件队列尾部往前处理,可能是认为后加入事件队列的句柄更有可能有读写操作,haproxy注释中描述从后往前处理可以提升 0.2%的性能;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值