<分区>
我们有一个 Java Swing 应用程序,它基本上是一个双层应用程序 - 一个连接到数据库的 UI 层,它在两个层之间执行一些繁重的工作。
我们一直在观察应用程序的一些性能问题,并正在寻找对应用程序进行负载测试的策略。
基本上,我们的目标是启动此应用程序的多个实例并模拟负载,这将帮助我们在测试环境中找出这些性能条件。
我正在寻找有关我们如何做到这一点的建议:
- 有什么推荐的工具吗?
- 方法(虚拟化?/Citrix)
如果您需要更多信息来帮助您回答这个问题,请告诉我。
<分区>
我们有一个 Java Swing 应用程序,它基本上是一个双层应用程序 - 一个连接到数据库的 UI 层,它在两个层之间执行一些繁重的工作。
我们一直在观察应用程序的一些性能问题,并正在寻找对应用程序进行负载测试的策略。
基本上,我们的目标是启动此应用程序的多个实例并模拟负载,这将帮助我们在测试环境中找出这些性能条件。
我正在寻找有关我们如何做到这一点的建议:
如果您需要更多信息来帮助您回答这个问题,请告诉我。
最佳答案
好吧,我很确定你有 JTable....这可能是问题的很大一部分。
不过是可以解决的,我不知道怎么复制我之前回答的链接,但基本上是财务数据和JTable,你要看下面...
Sun 有一个专门用于此目的的教程,称为“圣诞树”,专门解决“经常更新的数据,如金融数据”Swing/JTable 缓慢问题。
在这里,“如何创建性能良好的频繁更新的 JTable”:
http://java.sun.com/products/jfc/tsc/articles/ChristmasTree/
我发现真正令人惊奇的一件事是不断显示使用的内存:您可能想要这样做。
您会惊讶于默认的 JTable 生成了多少不必要的废话,减慢了一切,当然还使 GC 触发的方式比应有的更频繁:不必要的对象创建、不必要的图形重绘等。这一切都使得对于无法使用的应用程序,即使是在非常快速的设置下也是如此。
因此,开始实现我提供给您的链接中给出的所有技巧,您会发现一切都会运行得更加顺畅。我现在正在运行非常复杂且“不断更新”的 JTable,现在一切都很好 :)
基本上,除了最简单的情况和少量数据之外,默认的 JTable 实现非常糟糕。
一旦您开始处理“真实世界的数据”(例如财务数据;),如果您希望 JTable 表现良好,则需要按照此处概述的步骤进行操作。
我并不是说这是导致速度变慢的唯一原因,但我去过那里并实现了 Sun 在那篇文章中暗示的大部分提示,这对我有很大帮助。实际上,我从一个无法使用的应用程序变成了一个非常有趣的应用程序。
关于java - 性能测试 Swing 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2255132/