-
Proxy negotiation. 【代理协商】浏览器正在与代理服务器协商请求.
-
Request sent. 【发送请求】该请求正在发送.
-
Waiting (TTFB). 【等待中】浏览器正在等待响应的第一个字节。TTFB代表第一个字节到达的时间。此时间包括一次往返延迟和服务器准备响应所花费的时间.
-
Content Download. 【响应内容下载】浏览器正在接收响应.
其他可能出现的
=======
-
DNS Lookup. 【DNS】浏览器正在解析请求的IP地址.
-
Initial connection. 【初始化连接】浏览器正在建立连接,包括TCP握手/重试和协商SSL.
通过httpstat工具分析
==============
httpstat git地址
如果是在Linux服务器上进行调用,则可以使用httpstat。
安装
==
直接下载脚本
======
wget https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py
复制代码
通过pip
=====
pip install httpstat
复制代码
Mac
===
brew install httpstat
复制代码
使用
==
httpstat可以使用cURL的参数。
httpstat www.baidu.com
httpstat 127.0.0.1/post -X POST --data-urlencode “id=1” -v
复制代码
Server Processing可以近似的认为是服务端耗时。
服务端到底慢在哪里?
==========
打印耗时日志?
=======
StopWatch stopWatch = new StopWatch();
stopWatch.start();
// …
stopWatch.stop();
LOGGER.info(“[某某某业务] - [Time:{}ms]”, stopWatch.getLastTaskTimeMillis());
复制代码
脑子瞬间一热就会使用的方法,简单直接,但是如果定位不准确,你可能要加很多这种日志。
还是用火焰图吧
=======
让软件执行情况可视化,是性能分析、调试的利器
火焰图的生成工具很多,比如Async Profiler、linux-perl,网上也有很多关于这方面的介绍,IDEA也集成Async Profiler,这个很方便。
IntelliJ IDEA中的火焰图
==================
打开火焰图
=====
如果没有开启,则点击+号,进行添加。
选择程序进行火焰图的分析
============
可以选择一个已经运行中的java程序进行分析,输出火焰图。
直接使用Async Profiler更简单
=====================
async-profiler git地址
安装
==
从git上直接下载。
解压下可用。
简单使用
====
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!