您的位置:首页 > 其它

一台上面的性能出奇的好,但是为什么没有线性关系

2010-03-13 00:37 267 查看
上午将lab里面五台机器从sles9全部升到了sles10,过程还算顺利。下午开始测试IB和APP在同一台机器的情况,发现load的效率有1万多条每秒钟,而昨天6台机器往一台server上feed的效率才达到3万多,也就是说server模式下,多台机器的效率只有各自的一半左右。
分析后觉得管道是瓶颈。server模式下,多个服务进程会往一个FIFO里面写数据,各个进程在工作时是独占的。至于server模式下带来的网络开销应该是可以忽略的,应为实际测试发现网络流量不过每秒钟不会超过30兆,应该是没有问题。
为了验证,我们将APP配置成server模式,但是只用一台机器来feed,发现插入效率和非server模式基本上一样。那基本上可以确认多进程间通信是个大问题。
打算回去后再好好审视下方案,包括多线程方案以及减小feeder发送过来的单个数据的大小等等,这样虽然带来了网络负荷的增加,但是锁的争用应该会小一些。这需要测试数据说话。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐