主要目的是在一个容器中运行多个chrome浏览器(9个浏览器)。
我有一个枢纽&具有多个浏览器的容器的节点设置,以在单个chrome节点容器中运行。我使用以下docker命令创建了两个容器:
要创建集线器容器: docker run -d -p 4445:4444 --name selenium_hub selenium / hub
创建节点容器并将其链接到集线器: docker run -v / dev / shm:/ dev / shm -d -p 6001:5900 -p 7001:5555 -e NODE_MAX_INSTANCES = 7 --name chrome_6 --link selenium_hub:hub selenium / node-chrome-debug
问题是当我通过同时启动多个Chrome浏览器(9个浏览器)在单个容器中运行我的测试用例时,测试用例会执行一段时间然后浏览器逐个崩溃。
我已尝试过容器的泊坞日志,但无法找到问题的实际原因。
有人可以指导我吗?如何调试这种情况?是否有人面临类似的问题并修复它?
答案 0 :(得分:0)
Chrome浏览器逐个崩溃的主要原因与Hypertext Transfer Protocol -- HTTP/1.1
有关在Section 8.1.4 - Connections RFC2616中,提到单用户客户端可以与任何服务器或代理保持最多2个连接。代理可以使用最多 2 * N 连接到另一个服务器或代理,其中N是同时活动用户的数量。这些指南旨在改善HTTP响应时间并避免拥塞。
话虽如此,值得一提的是,现代浏览器的限制性要小于此,允许更多的连接。 RFC2616 未指定如何防止超出限制。可以阻止任何连接打开,也可以关闭现有连接。
来自this site的示例说明了以下限制:
Internet Explorer 7.0
: 2 Internet Explorer 8.0 and 9.0
: 6 Internet Explorer 10.0
: 8 Internet Explorer 11.0
: 13 Firefox
: 6 Chrome
: 6 Safari
: 6 Opera
: 6 iOS
: 6 Android
: 6 可行的解决方案似乎将并发持久连接的数量限制为 6 。
子域修改主机文件来找到另一种增加持久连接数的方法>