но при тех же 10 потоках строки проскакивают в одну секунду, рандомная задержка не сильно спасла ситуацию
раз задержка может помочь то рассмотри вариант:
sleep: "thread_number * 3000" (expression ; 3 сек задержки на каждый поток)
Не совсем понятно как это подсчитывается. Этот отчет считает сколько всего скрипт затратил время на работу с этим действием суммируя время выполнения каждого потока?
Потому что у меня судя по отчету 41020233 мс уходит на GET запрос, 1748920 мс на чтение файла (7к строк) в список и 868195 мс на установку переменной 

Скрипт отработал в 100 потоков.