Я использую Codeception для тестирования конечных точек API моего веб-сервера.Я хочу выполнить некоторые стресс-тесты, поэтому в файле Cest под названием «StressCest» я написал несколько тестов, которые выполняют несколько вызовов наиболее часто используемых конечных точек моего сервера.
Я хочу запустить (параллельно) большое количество нескольких экземпляров этого файла Cest.
Для этой цели я использовал Robo.Я установил файл конфигурации Robo (RoboFile.php) с помощью метода "parallelRun ()" (https://codeception.com/docs/12-ParallelExecution) внутри.
public function parallelRun()
{
$parallel = $this->taskParallelExec();
for ($i = 1; $i <= 1000; $i++) {
$parallel->process(
$this->taskCodecept()
->suite('api')
->test('StressCest')
);
}
return $parallel->run();
}
, который порождает 1000 параллельных процессов StressCest. Когда я выполняюконсольная команда robo parallel:run
появляется эта ошибка:
Предупреждение: proc_open (): невозможно создать канал. Слишком много открытых файлов в /../vendor/symfony/process/Process.php в строке 337.[ошибка] Невозможно запустить новый процесс. ОШИБКА: proc_open (): невозможно создать канал. Слишком много открытых файлов в /../vendor/symfony/process/Process.php:337
IsЕсть какой-нибудь способ обойти эту ошибку или другой способ выполнить параллельное стресс-тестирование с помощью CestFile?
Заранее благодарен за любой ответ