在基于chromium内核跑自动化的过程中,我们一天一台机器可以跑近万个窗口,每个窗口会在本地数据目录产生20-60M的文件。如果中间过程我们不清理数据目录,就需要准备1T以上的磁盘空间。
即使我们的磁盘空间足够大,频繁的写入删除会对磁盘加速损耗。
为了解决这个棘手的问题,易指境通浏览器通过IO轻量化技术,成功把每个窗口的磁盘文件减少了90%+。
启用这项技术非常简单,只需要在命令行参数中附加min_disk_storage。
例子如下:
async def start_browser(env_id):
# 获取浏览器debug接口
headers = {
'Content-Type': 'application/json'
}
url = f"{init_url}/api/v1/browser/start"
data = {'env_id': env_id,
'app_cmd': '--min_disk_storage',
'headless': '',
'extension': ''
}
try:
response = requests.post(url, json=data, headers=headers)
json_data = response.json()
print('启动并获取浏览器debug接口', json_data)
debug_port = json_data['data']['debuggingPort']
return debug_port
except Exception as e:
print('启动获取debug接口报错', e)
return None
我们针对易指境通浏览器IO轻量化技术进行了大量的测试,下图给出测试数据:
上图为没有启用易指境通浏览器轻量化技术 100个窗口产生的磁盘占用。
下图为启用易指境通浏览器轻量化技术 100个窗口产生的磁盘占用。