• 异步IO的并发能力:backlog的配置很重要


    今天中午正准备完工的时候,发现一个让人抓狂的问题。

    一个精简版的AIO应用理论上应该比一个完整版的AIO应用并发能力高一些(因为完整版的事务处理复杂一些),在同一台机器上测试。

    但测试结果显示,精简版的并发能力还不如完整版的AIO应用。

    花了一个多小时,终于找到原因:原来是backlog的设置不同。

    关于网络编程中的backlog参数说明:

    http://dola.xinfan.org/?p=110

    精简版的相关代码:

    int backlog = 100; 
    asynServerChannel.bind(new InetSocketAddress(port), backlog);

    完整版的相关代码:

    int backlog = 200; 
    asynServerChannel.bind(new InetSocketAddress(port), backlog);

    可以看出,主要是 backlog的设置不一样,导致精简版的AIO比完整版的AIO还低一些。

    我把精简版的AIO中的backlog设置为200后,再用ab(压力测试),终于可以比完整版的AIO并发能力高一些了。

    2013-01-12

  • 相关阅读:
    node 命令
    nodejs项目搭建
    linux 安装与配置
    GestureDetector
    activity切换效果
    hadoop
    phonegap 自定义插件
    自定义控件-属性自定义
    zxing demo
    select 语句的执行顺序
  • 原文地址:https://www.cnblogs.com/personnel/p/4584833.html
Copyright © 2020-2023  润新知