gpt4 book ai didi

linux - Robo 和 Codeception 运行大量并行进程

转载 作者:太空宇宙 更新时间:2023-11-04 11:53:02 25 4
gpt4 key购买 nike

我正在使用 Codeception 来测试我的网络服务器的 API 端点。我想执行一些压力测试,所以在名为“StressCest”的 Cest 文件中,我编写了一些测试,这些测试对我的服务器最常用的端点执行多次调用。

我想启动(并行)此 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 出现此错误:

Warning: proc_open(): unable to create pipe Too many open files in /../vendor/symfony/process/Process.php on line 337 [error] Unable to launch a new process. ERROR: proc_open(): unable to create pipe Too many open files in /../vendor/symfony/process/Process.php:337

是否有某种方法可以绕过此错误或使用 CestFile 执行并行压力测试的其他方法?

提前感谢您的任何回复

最佳答案

我已经解决了这个增加我的操作系统打开文件限制的问题

Here is a guide for MacOSX also valid form Mojave

谢谢大家的帮助。希望这个问题对其他人有帮助。

关于linux - Robo 和 Codeception 运行大量并行进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55452467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com