微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python 中的 dockerized Selenium 是一个资源匮乏的过程吗?

如何解决Python 中的 dockerized Selenium 是一个资源匮乏的过程吗?

我在一个旧线程中读到 dockerized selenium 网格一个资源匮乏 的过程。

我正在尝试并行运行 250 到 300 个硒测试,经过一些研究,我发现我有 3 个选择:

1:多线程 2:多处理 3:在docker容器中运行selenium脚本

但后来我读到多线程并不是真正以并行进行 I/O

所以我将注意力转移到 dockerized selenium 脚本上。

那么一个简单的 dockerized selenium 脚本会消耗多少资源? 脚本的 selenium 部分非常简单,它接收 3 到 5 个值,然后在网页上输入这些值,然后单击一个按钮。

24 gb ram4 个 cpu 内核 是否足以满足上述过程?

解决方法

如果您打算在一台主机上运行所有内容,您将不会从 dockerizing 中获得任何利润。

这里最消耗的部分是网络浏览器。尝试同时运行 250-300 个浏览器实例,你就会得到答案。

基本上 docker 没有解决并行化问题。它解决了隔离问题并简化了分发和部署。您列表中资源最有效的方法是多线程,但这需要维护您的测试代码线程安全。

我建议你做一个测试。您的浏览器将占用多少取决于您的 UI 的重量。如果它加载了大量数据,它将占用更多 RAM,如果它运行大量 javascript,它将占用更多 CPU。因此,从 20 个并行会话开始并观察您的资源。如果一切正常,则增加。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?