Python 中的 dockerized Selenium 是一个资源匮乏的进程吗?
Is dockerized Selenium in Python a resource hungry process?
我在一个旧帖子中读到 dockerized selenium 网格 是一个资源匮乏 进程。
我正在尝试 运行 250 到 300 次并行硒测试, 经过一些研究,我发现我有 3 个选择:
1:多线程
2:多重处理
3: 运行在docker 容器
中宁硒脚本
但后来我读到多线程并没有真正在并行中执行i/o?
所以我将注意力转移到 dockerized selenium 脚本上。
那么一个简单的 docker 化的 selenium 脚本会消耗多少资源?
脚本的 selenium 部分非常简单,它接收 3 到 5 个值,然后在网页上输入这些值,然后单击按钮。
24 gb ram 和 4 cpu 个内核 是否足以用于上述程序?
如果您要 运行 一台主机上的所有内容,您将不会从 dockerizing 中获得任何利润。
这里最消耗的部分是网络浏览器。尝试同时 运行 250-300 个浏览器实例,您将得到答案。
基本上docker没有解决并行化问题。它解决了隔离问题并简化了分发和部署。您列表中最节省资源的方法是多线程,但这需要保持您的测试代码线程安全。
我建议你做一个测试。您的浏览器需要多少取决于您的 UI 的重量。如果它加载大量数据,它将占用更多 RAM,如果它 运行 很多 javascript,它将占用更多 CPU。因此,从 20 个并行会话开始并观察您的资源。如果一切正常,然后增加。
我在一个旧帖子中读到 dockerized selenium 网格 是一个资源匮乏 进程。
我正在尝试 运行 250 到 300 次并行硒测试, 经过一些研究,我发现我有 3 个选择:
1:多线程 2:多重处理 3: 运行在docker 容器
中宁硒脚本但后来我读到多线程并没有真正在并行中执行i/o?
所以我将注意力转移到 dockerized selenium 脚本上。
那么一个简单的 docker 化的 selenium 脚本会消耗多少资源? 脚本的 selenium 部分非常简单,它接收 3 到 5 个值,然后在网页上输入这些值,然后单击按钮。
24 gb ram 和 4 cpu 个内核 是否足以用于上述程序?
如果您要 运行 一台主机上的所有内容,您将不会从 dockerizing 中获得任何利润。
这里最消耗的部分是网络浏览器。尝试同时 运行 250-300 个浏览器实例,您将得到答案。
基本上docker没有解决并行化问题。它解决了隔离问题并简化了分发和部署。您列表中最节省资源的方法是多线程,但这需要保持您的测试代码线程安全。
我建议你做一个测试。您的浏览器需要多少取决于您的 UI 的重量。如果它加载大量数据,它将占用更多 RAM,如果它 运行 很多 javascript,它将占用更多 CPU。因此,从 20 个并行会话开始并观察您的资源。如果一切正常,然后增加。