打开更多会话时硒滞后

时间:2018-11-22 09:38:39

标签: python selenium web selenium-webdriver driver

我正在使用具有8个CPU内核的VPS。

当我打开大约30个Chrome Web驱动程序会话时,问题开始了。我最小化了所有浏览器以减少CPU使用率,并在提示中跟踪测试。 通常,一次测试持续55秒,但是当我进行更多会话时,有时会在1分钟到3分钟之间变化。这是什么原因引起的?我的CPU使用率大约占总时间的20%。

1 个答案:

答案 0 :(得分:1)

问题的原因很可能是RAM使用率。对于浏览器执行来说,RAM是至关重要的,当达到极限时,测试开始执行得较慢。查看RAM的使用情况,最有可能会看到浏览器的30个实例全部使用了RAM。

建议您在浏览器数量方面进行尝试,并尝试保持最佳的RAM使用百分比。在您的情况下,将并行线程数限制为25个甚至20个将使整个套件的运行速度比30个线程快。但是,当然,如果可以选择的话,最好增加内存并进行快速自动化;)

some more details about FF and Chrome RAM usage

在评论仅15%使用Ram的评论后编辑

它可能只是一个应用程序,在负载下会变慢。是的,有30个线程看起来没有任何价值,但它可能取决于应用程序环境的硬件,或者仅仅是应用程序性能的一部分出现问题。我们有一个案例,当我们的测试在200个线程的一个环境上运行良好,但是当数据中心迁移时,我们切换到了不同的环境(配置不同),我们发现一开始新环境通常只能在以下环境下运行30至50个线程(相比通常的200个)。我们将其报告为问题,并已得到IT团队的确认和解决。

作为这种情况的建议-尝试监视速度下降何时发生,例如是否存在任何模式-“在测试套件运行10分钟后”或“在对应用程序进行了某些操作之后”。此信息可能有助于调查应用程序方面的潜在问题。