Я каждый тик беру время от первого прочитанного байта до последнего записаного, вывожу сумму по всем тикам. Получаю бан на 20-23 секундах всегда. Ещё вывожу сумму времени внутри getAction, там получается на 1-1.5 сек меньше, поэтому, похоже, время получения / отдачи данных считается верно