一台上面的性能出奇的好,但是为什么没有线性关系
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发送过来的单个数据的大小等等,这样虽然带来了网络负荷的增加,但是锁的争用应该会小一些。这需要测试数据说话。
分析后觉得管道是瓶颈。server模式下,多个服务进程会往一个FIFO里面写数据,各个进程在工作时是独占的。至于server模式下带来的网络开销应该是可以忽略的,应为实际测试发现网络流量不过每秒钟不会超过30兆,应该是没有问题。
为了验证,我们将APP配置成server模式,但是只用一台机器来feed,发现插入效率和非server模式基本上一样。那基本上可以确认多进程间通信是个大问题。
打算回去后再好好审视下方案,包括多线程方案以及减小feeder发送过来的单个数据的大小等等,这样虽然带来了网络负荷的增加,但是锁的争用应该会小一些。这需要测试数据说话。
相关文章推荐
- SSH三大框架CRUD项目中为什么会出现web页面页面数据出现修改,但是数据库里面的数据却没有修改
- 我在android上面调用PKCS7Padding 是没有问题的,但是在java写的服务端就有问题了。不知道为什么,我用的jdk都是1.8.0的jdk。
- 看到一篇疑似看过的博文,但是没有按照上面的做,现在保存到blog上,努力实现
- CCSprite对象用setZOrder改变显示的遮挡关系没有起作用,为什么?
- 一个SDI程序基于CFormView视。上面放一个CStatic控件,给视图添加双击消息,运行程序后,双击视图,会有弹出消息响应。 但是双击CStatic类控件,却没有响应
- 在使用Hibernate时,因为一个查询需要更多的表连接而要使用SQL来解决性能问题。然而返回的结果集中包含了没有映射的Entity类中的表字段,在这个SQL中还有使用如何将层次关系的父子结点显示为横行
- java程序中没有错,但是项目上面显示一个红叉的解决办法
- JavaWeb项目中没有错,但是项目上面显示一个红叉的解决办法
- 为什么上面这段代码没有直接写的 function add (){...} 而是把function赋值给了变量add呢?
- oracle使用了索引但是查询性能没有改善(oracle的索引陷阱)
- java程序中没有错,但是项目上面显示一个红叉的解决办法
- 为什么摄像头会出现拍照时有预览图片并可以拍照,但是录像时却没有预览图片?
- JavaWeb项目中没有错,但是项目上面显示一个红叉的解决办法
- 为什么有时候网络状态良好但是数据却没有正常进行传输?
- java程序中没有错,但是项目上面显示一个红叉的解决办法
- 为什么控件的有些属性在代码中可用,但是在设计界面的属性窗口中就没有
- java项目程序中没有错,但是项目上面显示一个红叉的解决办法
- 性能优化之缓存(之前有了解,但是没有认真做,这次找了篇文章,来凑凑)
- JavaWeb项目中没有错,但是项目上面显示一个红叉的解决办法
- 为什么Android应用装到了手机上,但是没有图标,之前有图标但是打不开,也不知道为啥