如何提高你不拥有的代码的性能?

Ang*_*ker 2 java linux performance jvm

我们在一个运行调度算法的可笑的Linux机器上内部有第三方java应用程序.应用程序运行速度太慢,无法满足我们所需的负载.由于货币原因,我们没有代码,供应商也不会对应用程序进行任何更改,因此我无法改进代码.该应用程序是单线程的,其设计不适合并行化(因此我无法在2个盒子之间拆分负载).

无论是软件还是硬件,我能做些什么来提高应用程序的性能?

Rei*_*ica 6

  • 获取最新版本的Java(较新版本往往具有性能改进)

  • 为Java提供更多内存(基准测试,看看这是否有所不同)

  • 衡量它正在做什么top.升级任何有问题(更多内存,更快的CPU,SSD).有些CPU在单线程工作负载上比其他CPU更好(读取:不要在Bulldozer上运行它;使用Turbo Boost的东西可能会有所帮助).

  • 使用其他实验性JVM选项(基准测试,看看这是否有所不同)

  • 删除在这台机器上运行的任何其他应用程序(基准测试,看看是否有任何好处 - 没有意义,如果没有帮助就浪费钱)

  • 支付供应商以使其更快或给你代码(即:给他们货币的理由来解决这个问题)

  • 寻找替代方案

  • 写下你自己的选择