Рассчитать пропускную способность

У меня есть следующие сценарии. Я пытаюсь вычислить пропускную способность трансформатора java XSLT. У меня 10 трофеев, каждый из которых повторяется 1000 раз. Задача потока - прочитать XML и XSLT файл и преобразовать его и записать в новый файл.

Я хочу рассчитать TPS. Можете ли вы предложить способ расчета TPS?

Спасибо и с уважением,

Шринивас.

1 ответ

Ну, вы хотите запустить таймер в начале и остановить его, когда все потоки завершатся. Это дает вам истекшее время = время окончания - время начала. Транзакции = 10 потоков * 1000 итераций = 10000. TPS = 10000/истекшее время.

Самый простой способ сделать такой выбор - с CyclicBarrier. Здесь хорошая запись использования барьерного действия с CyclicBarrier в качестве таймера (см. Последний пример):

Мое последнее предостережение состояло бы в том, что бенчмаркинг такого рода чреват опасностью. Некоторые предложения:

  • Выполнить более 1000 итераций. Вам нужно, чтобы горячая точка прогрелась. Желательно, чтобы вы пропустили тест не менее 10 минут.
  • Не уменьшайте GC раз. Вам нужно знать, какой GC вы используете, и как его время паузы влияет на ваши результаты. Работа с -verbose: gc по крайней мере несколько раз чрезвычайно ценна. Подробнее см. Здесь: http://java.sun.com/developer/technicalArticles/Programming/GCPortal/
  • Запустите несколько повторений в том же процессе, пока не увидите повторяющиеся результаты.
  • Много работает, пока вы не считаете, что числа согласованы.

licensed under cc by-sa 3.0 with attribution.