计算吞吐量

时间:2008-10-03 11:06:13

标签: java performance

我有以下情况。我正在尝试计算java的XSLT转换器的吞吐量。我有10个threrads,每次迭代1000次。该线程的任务是读取XML和XSLT文件并对其进行转换并写入新文件。

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

谢谢和问候,

SRINIVAS。

1 个答案:

答案 0 :(得分:4)

好吧,你想在开始时启动一个计时器,并在所有线程完成时停止它。这给你经过的时间=结束时间 - 开始时间。事务= 10个线程* 1000个迭代= 10000.TPS = 10000 /经过时间。

进行此类计时的最简单方法是使用CyclicBarrier。这是一个使用带有CyclicBarrier作为计时器的屏障动作的好书(参见最后一个例子):

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

  • 运行超过1000次迭代。你需要让热点热身。最好让测试运行至少10分钟。
  • 不要打折GC时间。您需要了解您正在使用的GC以及其暂停时间对结果的影响。使用-verbose:gc至少运行几次非常有价值。有关详情,请参阅此处:http://java.sun.com/developer/technicalArticles/Programming/GCPortal/
  • 在同一过程中运行多次重复,直到您看到可重复的结果。
  • 在您认为数字一致之前,请进行多次运行。