TPS, полное название — «Transactions Per Second», что означает «транзакций в секунду». Это показатель производительности системы, особенно часто используемый в базах данных и торговых системах. Каждую «транзакцию» можно понимать как запрос пользователя и ответ системы на этот запрос. Например, на веб-сайте электронной коммерции «транзакция» может заключаться в том, что пользователь отправляет заказ на покупку, система получает запрос и обрабатывает его (включая проверку запасов, подтверждение оплаты, обновление базы данных и т. д.), а затем возвращает пользователю информацию о подтверждении.
Чем выше значение TPS, тем больше транзакций система может обработать в единицу времени, а значит, тем выше производительность системы. При проведении тестирования производительности мы обычно тестируем значение TPS системы при различных нагрузках (например, 10 транзакций в секунду, 100 транзакций в секунду, 1000 транзакций в секунду и т. д.), чтобы понять производительность системы.
Следует отметить, что TPS – не единственный показатель эффективности. При оценке производительности системы нам также необходимо учитывать другие факторы, такие как время отклика (сколько времени требуется системе для обработки транзакции), количество одновременных пользователей (сколько пользовательских транзакций система может обрабатывать одновременно), системные стабильность (система работает при высокой нагрузке), не выйдет ли она из строя или ее производительность значительно ухудшится) и т. д.
Максимальный расчет TPS:
Теоретически, если ваша система имеет время ответа 10 миллисекунд (мс) для каждого запроса при едином параллелизме, то ваша система может обработать 100 таких запросов за 1 секунду. Поскольку в 1 секунде содержится 1000 миллисекунд, 1000 мс ÷ 10 мс/запрос = 100 запросов в секунду, что составляет 100 TPS.
Однако это идеальная ситуация, при условии, что каждый запрос может начаться немедленно и в системе нет других накладных расходов. В реальных ситуациях могут существовать такие факторы, как задержка сети, время переключения между запросами на обработку системы, другие нагрузки на сервер и т. д., которые могут снизить фактическое значение TPS. Таким образом, даже если теоретически рассчитанное значение TPS равно 100, фактическое значение TPS может быть ниже этого значения. Вот почему нам необходимо проводить реальные тесты производительности, а не просто полагаться на теоретические расчеты.