2008-10-03 170 views
3

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

我想计算TPS。你能否建议计算TPS的方法?

感谢和问候,

SRINIVAS。

+0

我对TPS报告有些期待。我很遗憾地失望。 – 2008-10-03 11:07:49

回答

4

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

做这种计时最简单的方法是使用CyclicBarrier。以下是使用一个的CyclicBarrier作为计时器的阻隔作用的一个很好的书面记录(见最后一个例子):

我最后的警告将是标杆像这样充满了危险。一些建议:

  • 运行超过1000次迭代。你需要让热点变暖。最好你应该让测试运行至少10分钟。
  • 不要打折GC时间。您需要了解您使用的GC以及其暂停时间如何影响您的结果。用-verbose:gc运行至少几次是非常有价值的。请参阅此处了解更多信息:http://java.sun.com/developer/technicalArticles/Programming/GCPortal/
  • 在同一过程中运行多次重复,直至看到可重复的结果。
  • 做很多次,直到你相信这些数字是一致的。