selenium - 我可以通过 Selenium WebDriver 启动的最大同时 Chrome 连接/线程数是多少?
问题描述
假设我没有 Grid 设置,我可以从 Selenium WebDriver 启动的同时 Chrome 线程的最大数量是多少?
是5吗?它也适用于 Chrome Headless 吗?
解决方案
浏览器连接限制
浏览器限制了同一个域名的 HTTP 连接数。此限制在 HTTP 规范 ( RFC2616 ) 中定义。大多数现代浏览器每个域允许六个连接,而大多数旧浏览器每个域只允许两个连接。
HTTP 1.1 协议规定单用户客户端不应与任何服务器或代理保持两个以上的连接。这就是浏览器限制的原因。您可以在RFC 2616 – 超文本传输协议,第 8 节 – 连接中找到详细讨论。
现代浏览器的限制比这更少,允许更多的连接。RFC 没有指定如何防止超出限制。可以阻止打开连接,也可以关闭现有连接。
最大支持连接表:
http.maxConnections
根据网络属性:
http.maxConnections (default: 5)
如果启用了 HTTP keepalive(见上文),则此值确定每个目标将同时保持活动状态的最大空闲连接数。
每个主机的连接
根据Network.http.max-connections-per-server Firefox 3已将每台主机的连接数提高到 15 个。
根据Match Firefox 的每主机连接限制为 15 Chrome 团队尝试匹配相同并进行了讨论Configurable connections-per-host但最终在Configurable connections-per-host中没有任何结论
结论
当您使用任何WebDriver和Web Browser变体组合时,同样的标准也适用。Selenium Grid Setup、Chrome Headless和Firefox Headless的行为也将相同。
参考
推荐阅读
- c# - 返回轮播页面中当前页面列表项的属性
- android - classes.jar' 已经包含条目 'META-INF/module_name_debug.kotlin_module',无法覆盖
- elasticsearch - 如何根据elasticsearch中的父文档字段对嵌套聚合字段进行排序?
- python - VSCode 远程 SSH:在新终端中运行 Python 文件
- php - JSON 正文末尾出现意外数字
- android - Kotlin - 如何知道常量对象中是否存在字符串?
- python - 如何在 Bokeh (Python) 中编写自定义 JS 回调?
- .net - 接口函数应该强制输入吗?
- c++ - 仅在第一次实际写入时覆盖文件
- docker - Docker Build 在控制台输出中缺少中间层