lxyfirst

C++博客 首页 新随笔 联系 聚合 管理
  33 Posts :: 3 Stories :: 27 Comments :: 0 Trackbacks

使用几个经典网络模型实现非阻塞简单http服务,部署在一台4Xeon 3.00GHZ的机器上进行压力测试。

 

短连接

长连接

客户端

1个线程

97%cpu,多核分担

60%cpu网卡中断

1.6w/s

平均响应时间10ms

100%cpu

15%cpu网卡软中断

2.8w/s

平均响应时间7ms

100并发/客户端

100w请求/客户端

2个客户端

 

4个线程

每个线程70%cpu

99%cpu网卡中断

2.1w/s

平均响应时间9ms

每个线程100%cpu

40%cpu网卡软中断

6.5w/s

平均响应时间3ms

100并发/客户端

100w请求/客户端

2个客户端

 

1leader线程,接受连接

4worker线程,处理请求

leader线程90%cpu

worker线程40%cpu

75%网卡中断

1.8w/s

平均响应时间10ms

leader线程1%cpu

worker线程100%cpu

40%网卡中断

6.0w/s

平均响应时间3ms

100并发/客户端

100w请求/客户端

2个客户端

 

 

结论:

1.       短连接中,建立连接是很耗费资源的。

2.       长连接中,多线程在提高处理能力方面是很有价值的,尤其是运算量多的请求。

3.       多个线程同时接受连接会造成cpu软中断的overhead

posted on 2011-07-07 13:24 star 阅读(341) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理