码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-06-18 07:05:56      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

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

 

一个精简版的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

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

标签:

原文地址:http://www.cnblogs.com/personnel/p/4584833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!