Java 计算吞吐量

Java 计算吞吐量,java,performance,Java,Performance,我对以下场景有一个简单的描述。我试图计算java的XSLT转换器的吞吐量。我有10次,每次迭代1000次。该线程的任务是读取XML和XSLT文件并转换它,然后写入新文件 我想计算TPS。你能建议一下TPS的计算方法吗 感谢和问候 Srinivas.好吧,您希望在开始时启动计时器,并在所有线程完成后停止计时器。这将为您提供经过的时间=结束时间-开始时间。事务=10个线程*1000次迭代=10000次。TPS=10000/经过的时间 进行这种计时最简单的方法是使用自行车运载器。下面是一篇很好的文章,

我对以下场景有一个简单的描述。我试图计算java的XSLT转换器的吞吐量。我有10次,每次迭代1000次。该线程的任务是读取XML和XSLT文件并转换它,然后写入新文件

我想计算TPS。你能建议一下TPS的计算方法吗

感谢和问候


Srinivas.

好吧,您希望在开始时启动计时器,并在所有线程完成后停止计时器。这将为您提供经过的时间=结束时间-开始时间。事务=10个线程*1000次迭代=10000次。TPS=10000/经过的时间

进行这种计时最简单的方法是使用自行车运载器。下面是一篇很好的文章,介绍了如何使用带有CyclicBarrier的barrier操作作为计时器(参见最后一个示例):

我最后要提醒的是,像这样的基准测试充满了危险。一些建议:

  • 运行1000多次迭代。你需要让热点热身。最好让测试运行至少10分钟
  • 不要打折GC时间。您需要了解您正在使用的GC以及它的暂停时间如何影响您的结果。使用-verbose:gc至少运行几次是非常有价值的。请参见此处了解更多信息:
  • 在同一过程中多次重复,直到看到可重复的结果
  • 多次跑步,直到你相信数字是一致的

我对TPS报告有所期待。我很失望,我看不出你在计算什么。吞吐量将非常依赖于输入文件(大小)、转换的复杂性(样式表)和生成的输出的大小。