Рассчитать пропускную способность - PullRequest
3 голосов
/ 03 октября 2008

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

Я хочу рассчитать TPS. Подскажите, пожалуйста, способ расчета TPS?

Спасибо и всего наилучшего,

Шринивас.

1 Ответ

4 голосов
/ 03 октября 2008

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

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

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

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