240 发简信
IP属地:云南
  • 不清楚有多少小伙伴玩过,select,poll,epoll。自己编写这样的程序。我玩过,关于性能方面讨论,不知道摘抄别人还是自己思考的。我可以肯定是无论用那种模型,性能提升没那么绝对。一定程度上可以。就如上午说的,左右不了响应时间。
    另外一个因素,TCP链接问题,操作系统有上限,别以为可无限扩展(见UNIX网络编程,linux上亲自实验调整过参数,还与负载有关)。
    多路复用为中心的设计,相对现成模型,并发与吞吐确实会有提升,如果及其负载上去了也不行。这里能节约的链接资源仅仅在多路复用这里,内存与cpu都可以节约。其它计算IO读写固定必须的。两层多路复用,sub需要多结果做出响应。这里一个程序管理一个队列模式。仅仅是吧单个多路复用,处理队列时间延迟,可以提升接入速度。这种模型细思,收益不是很大。操作系统上select,poll,epoll注册同样有上限,很多地方制约性能评估。
    我个人还是认为,能提升多少效益,只有把程序写出来,做完基准测试对比才知道。多路复用可提升吞吐量与并发量,一定程度上节省资源确实可以做到。节省资源可以开更多的处理现成。系统控制的进程中现成启动也有上限,因此,每次讲并发,性能,吞吐量。仅仅是相对量。
    我是不喜欢把reactor性能神化,甚至性能个人看法,不回有太多改善。

    Reactor 反应堆设计模式

    为了应对高并发的服务器端开发,微软在2009年提出了一种更优雅地实现异步编程的方式Reactive Programming即反应式编程。随后其他技术紧随其后,比如ES6通过引...

  • 这样可以大大提高系统吞吐量,减少响应时间。仔细揣摩一下这句话,有问题的,响应时间未必有多少改善。很多同学可能不知道select,poll,epoll的操作方式,检查注册队列。这快可以提高吞吐量,也即提升并发。用更少资源可以承载更高并发,这可以做。响应时间并不是他能解决的问题。非得扯关系,减少操作系统调度开销,这点开销多大程度上影响响应时间呢?存疑吧!个人观点,响应时间主要由运算快慢决定的。系统调度节省出来的那点时间,不足以左右响应时间。

    Reactor 反应堆设计模式

    为了应对高并发的服务器端开发,微软在2009年提出了一种更优雅地实现异步编程的方式Reactive Programming即反应式编程。随后其他技术紧随其后,比如ES6通过引...