典型网络模型性能比较

典型网络模型性能比较

使用几个经典网络模型实现非阻塞简单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

你可能感兴趣的:(典型网络模型性能比较)