Протестировать многопоточную отправку писем.

Всем привет, есть такая проблема. Есть сервис для отправки mail / web push. При тестировании мануально на 1-10 пользователей все работает стабильно и без проблем. Но когда отправка происходит на 100к, 1-2к просто теряется из-за распределения по потокам и становлениям в очередь.

  1. Как можно имитировать отправку на 10к пользователей?
  2. Каким образом можно написать тест на доставляемость письма (проблема в том что нет какого то определенного времени доставки письма (время ухода с очереди, доставка к провайдеру, доставке от провайдера к конечному пользователю))

Подойдет любая информация, хотя бы направления поиска информации. Всем спасибо)!

а что нужно определить? какие емейлы не доходят?

Генерируешь 10к емейлов - например емейлы 0-10000 типа test.email+0....10000@gmail.com и пушишь этот список емейлов . Потом через API заходиь на test.email@gmail.com и проверяешь количество полученных емейлов. Если какой то емейл не дошел - понять какой очень просто) А дальше уже нужно по логам смотреть где что завалилось.

P.S.

[‘test.email+{}@gmail.com’.format(x) for x in range(10000)]

И дальше через API отправляешь эти емейлы. Можешь сделать асинхронно.

То что не доставляются некоторые письма это я уже узнаю на проде так как не могу проверить на больших объемах на деве. Для начала будет хорошо определять что вообще есть ли проблема с доставляемостью при массовой рассылке или нет. Найти письма какие не пришли уже не так сложно.

За это спасибо, думаю что справлюсь с этим.
А как на счет того что бы ждать доставляемость писем (может затянутся до нескольких часов)? Как правильно поступить с ожиданием?
Делать цикл пока не придет, или просто запускать отдельно тест через пару часиков ?

В любом случае письма не должны идти слишком долго. Если проходит пару часов - то это явно проблема и сервер рассылки просто медленно работает.

Спасибо, уже хоть что то )