我正在运行selenium/standalone-chrome:3.141坞容器,并且经常从容器中看到大约4.5GB的内存使用情况。我的目标是一次能够支持3-4个并发请求到外部站点。为此,我使用以下方法运行容器:
NODE_MAX_SESSIONS: '5'
NODE_MAX_INSTANCES: '1'根据我所读到的,这应该给我一个Chrome实例,最多5个会话。但是有了这个配置,我在我的应用程序中也看到了很多这样的异常:
Facebook\WebDriver\Exception\WebDriverCurlException
Curl error thrown for http POST to /session with params: {"browserName":"chrome","platform":"ANY","chromeOptions":{"w3c":false,"binary":""}}} Failed to connect to selenium port 4444: Connection refused这表明它不能接受更多的联系。
我如何运行这个容器,以接受一些并发连接/请求到外部站点,同时保持尽可能低的占用空间?我知道Chrome是一个内存占优势,那么在这种情况下,它是否有可能将内存控制在~4.5GB以下?
发布于 2019-12-10 15:10:07
由于您使用的是docker,所以我假设实际的窗口/GUI弹出并不重要,对吗?你的网络驱动程序是在无头模式运行吗?https://developers.google.com/web/updates/2017/04/headless-chrome,这可能会节省很多内存。我还想指出,即使Chrome是在无头模式下运行,如果这对你来说很重要,你仍然可以拍截图。
https://stackoverflow.com/questions/59268492
复制相似问题