Вам действительно нужно отлаживать и / или профилировать сетевую часть. Похоже, у вас есть некоторые ограничения для соединений / пропускной способности - возможно, ваш интернет-провайдер или службы ограничивают ваши запросы.
Ваш код полностью в порядке, он заканчивается за считанные секунды. Профилирование показывает, что верхние 3 узла "собственного времени" (наиболее потребляющие сами по себе, без цепочки вызовов) составляют
- epoll select
- zlib декомпресс
bytes.decode
Это ~ 50% от общего времени выполнения.