Почему при 40 одновременных запусках время подготовки браузеров увеличивается вдвое?

Поддержка
  • Здравствуйте. Есть проблема с массовым запуском браузеров через playwright-with-fingerprints. Сервер: 188 vCPU, 360 GiB оперативки. По общей загрузке сервер далеко от предела, но при увеличении количества запусков время подготовки растёт.

    При запуске 3 браузеров медиана готовности 14,68 секунды, максимум 25,45. При запуске 40 одновременно медиана уже 29,73 секунды, максимум 55,11. Даже самый быстрый из 40 готовился 22 секунды. В прогоне на 3 браузера был один повтор из-за SDK_IP_DETECTION, а на 40 все первоначальные браузеры подготовились без ошибок и повторов.

    Каждому профилю уже выделили отдельный поток и сетевой цикл. На 40 профилей работают 5 процессов координаторов, 40 потоков профилей и 40 сетевых циклов. Это проблему не решило.

    Добавили свои замеры. Среднее получение отпечатка выросло с 1,77 до 5,79 секунды. Нативная подготовка SDK до передачи управления Playwright выросла с 9,91 до 17,83 секунды. Запуск Chromium и подключение Playwright с 0,66 до 2,67 секунды. Эти значения относятся к успешным попыткам. Основной прирост времени виден в нативной подготовке, но что конкретно там ждёт, непонятно.

    Есть ли внутри SDK общие очереди или блокировки между экземплярами? Ограничения по ключу, IP сервера, каталогу движка или нативному исполнителю? Как проверить, срабатывают ли они у меня?

    Какие логи включить, чтобы отдельно увидеть время определения IP, применения отпечатка и ожидания нативного исполнителя? И почему получение отпечатков тоже замедляется при параллельных запросах? Можно это проверить на вашей стороне?

    Нужно запускать 100 браузеров одновременно, чтобы каждый был готов примерно за 20 секунд. Уже два дня разбираюсь с этим. Нужна конкретика: какую схему запуска использовать, какой минимальный тест выполнить и какие данные вам передать. Отчёт и исходные журналы реальных прогонов есть, могу приложить.