请说一下简单易行的测试方法或思路
如果可以用 Chrome devtools 的话,可以用 Performance 标签看一下整个载入过程各个动作的耗时。
先看看是哪段代码导致的,再做针对性的 Debug。
一开始就上调试代码等于大海捞针。
通常认为白屏时间就是从浏览器发出请求直到浏览器开始渲染body
标签(页面出现元素)所花费的时间。
我最常用的方法是使用performance.timing
对象,计算花费的时间。具体使用方法,只要阅览文档就能够掌握了。
var t = performance.timing;
// 建立连接花费的时间
var conntime = t.connectEnd - t.connectStart
// 发出请求到服务器响应花费的时间
var reqsresstime = t.responseStart - t.requestStart
// 接收全部响应所花费的时间
var ressresetime = t.responseEnd - t.responseStart
// 从建立连接到页面加载
var pageloadtime = t.loadEventStart - t.connectStart
// ...
稍作分析,就能知道到底是服务器响应耗时多,还是浏览器加载耗时多。
除此之外,也可以使用浏览器提供的开发者工具进行抓包分析。
2 回答5.3k 阅读✓ 已解决
4 回答1.8k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
方法一
断点调试法,下断点从入口一步步追踪下去,比如入口第一行秒回 则 下面行,二分查找速度 快些,主观判断哪里慢10秒很容易查出来,这种前提是要下要几次断点
方法二
用xhprof xdebug 等侵入式分析工具