当前位置:  开发笔记 > 编程语言 > 正文

部署低延迟Java应用程序的最佳操作系统?

如何解决《部署低延迟Java应用程序的最佳操作系统?》经验,为你挑选了2个好方法。

我们有一个用Java编写的低延迟交易系统(Feed处理程序,分析,订单输入).它广泛使用TCP和UDP,它不使用Infiniband或其他非标准网络.

有人可以评论各种操作系统或操作系统配置的权衡来部署这个系统吗?虽然吞吐量对于跟上现代价格源非常重要,但延迟是我们的首要任务.

Solaris似乎是一个自然的候选者,因为他们创建了Java; 我应该使用Sparc还是x64处理器?

我听说过关于RHEL和SLERT的好东西,是那些在我们的基准测试中使用的Linux版本.

有没有人针对上述操作系统测试过Windows?还是假设跟不上?

我想将Java与C++争论留给另一个线程.



1> S.Lott..:

供应商喜欢这种基准.你有代码,对吗?

IBM,Sun/Oracle,惠普都希望在他们的设备上运行您的应用程序以展示其优势.

让他们这样做.如果您有代码,请让供应商在他们的设备上进行演示,以显示哪种代码最符合您的需求.

它简单,轻松,自由,真实.最终决定将是容易和明显的.您将了解如何安装和调整以最大限度地提高性能.


我讨厌做的是编写代码之前预测这种事情.在我们完成所有用例的识别之前,有太多客户要求提供H/W和OS建议.要求这种预知是简单的疯狂.

但是你有代码.您可以生成运行代码的测试用例.那很完美.


@Ted Graham.零.如果他们想卖给你硬件,他们必须证明它有效.他们*喜欢*这样做.开始向销售人员询问演示.
这个答案太棒了!硬件公司很乐意尽力展示他们的硬件.给自己一个帮忙:在给出测试代码之前,准确指定您正在测量的内容.特别是,您可能希望持续的吞吐量(较长时间内的交易数量,如超过一小时)不是最快的单笔交易.

2> Robert Chris..:

对于交易环境,除了低延迟之外,您可能还会担心一致性和延迟,因此尽可能地关注减少GC暂停的影响可能会比不同的操作系统选择带来更多好处.

最近版本的Suns Hotspot VM中的G1垃圾收集器以与JRockit VM类似的方式改善了停止世界的停顿

但是,为了获得真正的性能保证,Azul Systems版本的Java设备上的Hotspot编译器提供了可用的最低保证暂停 - 它还可以扩展到大规模 - 100个GB堆栈和100个内核.

我会给Java Realtime打折 - 尽管你得到了响应的保证,但你会牺牲吞吐量来获得这些保证

但是,如果您计划在每微秒计数的环境中使用您的交易系统,那么您将不得不忍受从当前一代VM中获得的缺乏一致性 - 它们都没有(实时除外)保证低微秒GC暂停.当然,在这个级别上,您将遇到来自OS活动(进程抢占,中断处理,页面错误等)的相同问题.在这种情况下,Linux的一个实时变体将帮助您.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有