Обычный день платформа держала, но на популярном матче ставки приходили лавиной, и расчёт выигрышей выстраивался в очередь. Мы написали генератор нагрузки, воспроизвели этот час пик на стенде и увидели виновника: расчёт шёл одним потоком. После того как мы разложили его по независимым дорожкам, темп вырос почти в пятнадцать раз — и это доведено до продакшена.
Сначала собрали собственный генератор нагрузки: флот до 274 виртуальных игроков, которые ведут себя как настоящие — ставят, пополняют счёт, смотрят историю.
Потолок искали по закону Литтла: узкие места переезжали с одного узла на другой, пока лавина в 100 000 с лишним ставок на одно live-событие не вскрыла главное — расчёт выигрышей шёл одним обработчиком.
После партиционирования по хешу идентификатора темп вырос с 290 до 4360 ставок в минуту, и фикс доведён до продакшена. Прогоны проверяли не только на скорость: финансовый аудит на 123 543 ставках показал ноль двойных выплат и ноль потерянных начислений.