Java应用程序性能问题

时间:2015-11-05 22:57:09

标签: java linux windows performance

  

手头的问题:

我有一个java应用程序,它在DEV和QA服务器上运行的时间是本地计算机的两倍。当我在Dev和QA上运行这个工作时,我的时间大约是1:45 - 2:30(hh:MM),而我的本地时间大约是0:45 - 1:10。 我正在尝试确定可能导致服务器上Java应用程序性能下降的原因。

  

到目前为止我没有提供答案:

  1. 使用相同的最大尺寸进行测试
  2. 观察对cpu的压力。在运行批处理应用程序时,Dev大约有75%的时间处于空闲状态,因此我认为这不是问题。
  3. 观察Dev的ram。 Dev拥有足够的内存来为JVM提供指定的maxHeap(128mb)。如果我理解正确,只要机器正确提供MaxHeap尺寸,机器的可用内存无关紧要?
  4. 确保java版本不会导致问题。
  5. 设置日志级别相同:“INFO”
  6. 处理器:服务器有2.67GHz处理器,我本地只有2.19GHz
  7.   

    其他信息。

    • 服务器操作系统:Linux
    • 本地计算机操作系统:Windows
    • 单线程Java应用程序。
    • 应用程序正在读取和写入文本文件,并且还有来电 到数据库(hibernate c3p0)。这些是我最多/唯一的昂贵操作

    我已经搜索了几十个网站来确定根本原因,但我无法确定导致问题的原因,我们将非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

  

应用程序正在读取和写入文本文件,并且还调用数据库(hibernate c3p0)。这些是我最多/最昂贵的操作

您的服务器很可能对其正在使用的数据库的访问速度较慢。例如如果你要在同一台机器上运行数据库,它可能比通过网络快得多。我会看一下在本地和服务器上执行一些简单的hibernate操作所需的时间。如果性能是一个问题,我建议考虑删除hibernate甚至你的数据库,你的程序可以运行速度提高10倍 - 100倍。

答案 1 :(得分:0)

  

我正在尝试确定什么可能导致服务器上的Java应用程序性能降低

我正在测试的服务器恰好位于DMZ(网络外)。而数据库和我的本地计算机(在办公室工作时)都在网络内。 这是我未能评估的情况。