проблема в том что я приложения поднимаю прямо из тестов. у меня их около 30. и особенность в том, что все тестовые данные от каждого теста должны лежать во всех источниках (димк, база, моки итд) до старта приложений.
и я не мог знать на какой поток какой тест попадет. поэтому приходилось на каждом поднимать все приложения и на каждом выполнять полную подготовку (потому что в рамках xdist потока каждое окружение изолировано и например 2 одинаковых приложения не могут работать на 1 базе, будут конфликты)
простейшие подсчеты говорят что для запуска в 16 потоков мне приходилось поднимать 16* 30 приложений, создавать 16 *30 баз тарантулов итд, и создавать 16 копий всех тестовых данных на каждом потоке
я перепилил планировщик и теперь распределяю сам по приложениям и времени, стараясь уместить тесты на 1 приложение на 1 поток чтобы не выйти за среднее время потока
таким образом на потоке только те тесты которые на нем будут выполняться, только их тестовые данные и минимальное дублирование приложений, только если по рассчетам тесты на одно приложение не уместилось в 1 поток по времени