我正在努力改善我的网络服务器的性能,并希望准确衡量用户加载页面所需的时间。我想象的方式是模拟来自用户的并发请求,并跟踪页面加载时间的变化,因为我微调各种设置以获得最佳结果。
我想使用Chromium的最新快照和--headless
开关来衡量用户加载页面所需的时间,但由于这是一个相对较新的功能而且我不熟悉all the possible switches,如果有人可以分享他们为了获得准确结果而分享的内容,我会很感激。
我唯一的限制是我不能以其他方式注入脚本或修改响应内容,这对于这样的测试是有帮助的。
答案 0 :(得分:5)
这似乎没问题。截图显示页面似乎已加载并在第一个和后续请求之间得到类似的结果,因此我假设缓存确实已禁用。
time chromium \
--headless \
--disk-cache-dir=/dev/null \
--disable-gpu \
--download-whole-document \
--deterministic-fetch \
https://www.stackoverflow.com
--disable-gpu
标志不是必需的,但a reported error包含当前版本答案 1 :(得分:2)
我是Navalia的作者,这是针对节点/ TypeScript的无头Chrome的更高抽象。您可以通过以下方式轻松完成此操作:
const Navalia = require('navalia')
const navalia = new Navalia({
numInstances: 1,
verbose: true,
})
navalia.startup()
navalia.register(async chrome => {
const start = Date.now()
await chrome.navigate('http://www.cnn.com/')
console.log(`Total time to load page ${Date.now() - start}ms`)
})
如果您想要更多功能,请随时订票。其中一个目标是抽象出Chrome开关+ CDP协议的痛苦。