Является ли докеризированный Selenium в Python ресурсоемким процессом?
Я читал в старой ветке, что докеризированная селеновая сетка — это ресурсоемкий процесс.
Я пытаюсь запустить от 250 до 300 тестов селена параллельно, и после некоторых исследований я обнаружил, что у меня есть 3 варианта:
1: многопоточность 2: многопоточность 3: запуск скрипта селена в контейнере докеров
Но потом я прочитал, что многопоточность на самом деле не делает ввод-вывод параллельно ?
Поэтому я сосредоточился на докеризованном скрипте селена.
Итак, сколько ресурсов будет потреблять простой докеризованный скрипт Selenium? Селеновая часть сценария очень проста: она получает от 3 до 5 значений, затем вводит эти значения на веб-странице и нажимает кнопку.
Достаточно ли 24 ГБ оперативной памяти с 4 ядрами процессора для вышеупомянутой процедуры?
1 ответ
Если вы собираетесь запускать все на одном хосте, вы не получите никакой прибыли от докеризации.
Самая потребляющая часть здесь — веб-браузер. Попробуйте запустить 250-300 экземпляров браузера одновременно, и вы получите ответ.
В основном докер не решает проблему распараллеливания. Он решает проблему изоляции и упрощает распространение и развертывание. Наиболее эффективным с точки зрения ресурсов способом из вашего списка является многопоточность, однако для этого необходимо поддерживать потокобезопасность тестового кода.
Я бы предложил вам сделать тест. Сколько будут занимать ваши браузеры, зависит от того, насколько тяжелый ваш пользовательский интерфейс. Если он загружает много данных, он потребует больше оперативной памяти, если он запускает много javascript, он потребует больше процессора. Так что начните с 20 параллельных сессий и следите за своими ресурсами. Затем увеличьте, если все в порядке.