Skip to main content

 路由器设置 > 新闻资讯 >

【实测】socket协议和http协议性能对比

2014-02-08 23:25 浏览:

最近做了一次队列服务的性能测试,是通过两种协议windows socket和http分别往内存中写入url。对比哪种协议的效果更高,下图是测试结果。此次使用的工具是loadrunner。在压socket协议时,不能进行录制,只能通过手写函数完成。

环境说明 服务端 111.111.111.218,配置cpu3.0/4核  内存4G. 100m带宽
测试机 111.111.111.19   配置cpu3.0/4核  内存4G. 100m带宽
测试目的 性能测试 测试人 李秀龙
场景说明 windows socket协议: 连续读写固定的值  (读写同时进行)

http协议:  http://111.111.111.218/put/queue?data=12345  (其中data值最大长度设置为200字符,其结果与5个字符长度基本上相同)
持续执行时间 5分钟 测试日期 2009-9-7
结果分析 服务器资源 响应时间
并发用户 协议 CPU利用率(%) 占用内存(%)共4G load average 每秒完成读写(个/秒) 一次读写响应时间(秒/个)
20 windows socket 70% total / 34% us / 36% sy 26% 4.1 8000 0.002
20 http 74% total / 42% us / 32% sy 10% 4.4 3200 0.006
结果分析 1,由于压力客户端数量有限,所以将以服务器的cpu使用率为基准,在两种协议分别将cpu压到70%时,看哪种协议响应时间快和每秒完成的读写次数多,由此来判断 某种协议的优劣
2,读写同时进行,避免内存溢出.所以需要有get错误处理机制,避免只写不读
3,从上面结果中的处理时间和每秒完成的读写次数判断,windows socket协议性能远远高于http协议.