我正在使用 2 个 Windows 虚拟机,每个虚拟机都有 2 个 CPU 内核和 8GB RAM,到目前为止,我的测试使用 selenium 网格运行良好。在这里,我在这两台机器上并行分布了 7 个 chrome 实例,这意味着一台机器可能有 4 个 chrome 实例,而另一台机器一次可以有 3 个实例。没有我经常遇到的 OOM 或基础设施问题。 需要注意的是,集线器和 1 个节点在一台机器上,另一个节点(仅)在另一台机器上。
不知何故这两台机器需要停产,其他更高配置的机器将被共享。现在我正在考虑在这台机器上使用 2 个节点和 1 个集线器,并在这 2 个节点上并行(7 个实例)运行我的测试。
我的问题是我应该要求这台新机器的最低配置是什么才能顺利运行我的测试? 仅使用一台机器还会有任何其他影响,例如即使配置很高(即 4 个 CPU 内核和 16 GB RAM),一台具有 2 个节点的机器中的所有 chrome 实例都会出现问题?
在确定机器配置之前,您应该考虑以下因素:
测试的大小和复杂性:如果您的测试需要大量 CPU 和内存资源,您可能需要更高的配置以确保最佳性能。 测试数据大小:如果您的测试涉及大量数据,您可能需要更多内存来容纳内存中的数据并避免交换到磁盘。
如果您使用的是 Selenium grid 4,我建议您在新机器上以独立模式运行一次
java -jar selenium-server-4.8.0.jar standalone
它会自动检测处理器的数量并为节点设置最大并发限制,这将使您了解网格假定的最大测试数量可以在不使任何节点过载的情况下有效运行。
07:52:43.685 INFO [NodeOptions.getSessionFactories] - Detected 16 available processors
在一台有 2 个节点的机器上运行所有 7 个 Chrome 实例可能会导致瓶颈,尤其是当您的测试需要大量 CPU 和内存资源时。