我们在运行调度算法的大得离谱的 Linux 机器上有一个内部的第 3 方 Java 应用程序。对于我们需要的负载,应用程序运行速度太慢。我们没有代码,供应商不会因为金钱原因对应用程序进行任何更改,因此我无法改进代码。该应用程序是单线程的,它的设计不适合并行化(所以我不能在两个盒子之间分配负载)。
无论是软件还是硬件,我可以做些什么来提高应用程序的性能?
最佳答案
获取最新版本的 Java(较新的版本往往会提高性能)
Give Java more memory to work with (基准测试看这是否有任何区别)
用
top
衡量它在做什么。升级它遇到的任何问题(更多内存、更快的 CPU、SSD)。有些 CPU 比其他 CPU 更擅长单线程工作负载(阅读:不要在 Bulldozer 上运行它;带有 Turbo Boost 的东西可能会有帮助)。和其他人一起玩experimental JVM options (基准测试看这是否有任何区别)
删除这台机器上运行的任何其他应用程序(基准测试以查看是否有任何好处——如果没有帮助就没有意义浪费金钱)
付钱给供应商以加快速度或给你代码(即:给他们金钱上的理由来解决这个问题)
寻找替代品
写下你自己的选择
关于java - 如何提高不属于您的代码的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10936045/