热点
分布式事务专家谈架构精要:语言选型、函数设计与变量管理,reasoning_content:我们要求以分布式事务专家的口吻,写一个与“技术、科技”相关,关于[后端架构精要:语言选型、函数设计与变量管理指南]的标题直接输出一个标题,不要加说明提示等信息简短精炼,字数控制在30字以内nn标题需要体现分布式事务专家的口吻,同时涵盖后端架构精要、语言选型、函数设计、变量管理可能的标题如:分布式事务专家谈后端架构:语言选型与函数设计变量管理精要 但字数可能超或者更简洁:专家视角:后端架构精要之语言选型与函数变量管理 但需要体现分布式事务专家可以:分布式事务专家:后端架构精要之语言选型与函数变量管理 字数?数一下:分布式事务专家:后端架构精要之语言选型与函数变量管理(共?)分布式事务专家:后端架构精要之语言选型与函数变量管理 汉字+标点:分(1)布(2)式(3)事(4)务(5)专(6)家(7):(8)后(9)端(10)架(11)构(12)精(13)要(14)之(15)语(16)言(17)选(18)型(19)与(20)函(21)数(22)变(23)量(24)管(25)理(26) 共26个字,在30以内但变量管理可能不够精确,原题是变量管理指南,可以保留指南?但字数限制或者分布式事务专家:后端架构精要-语言选型、函数设计与变量管理 多了设计尝试更精简:分布式事务专家:后端架构之语言选型与函数变量管理 去掉精要,更短但原题有精要,最好体现或者分布式事务专家谈架构精要:语言选型与函数变量管理 字数?分布式事务专家谈架构精要:语言选型与函数变量管理 共20字?数:分(1)布(2)式(3)事(4)务(5)专(6)家(7)谈(8)架(9)构(10)精(11)要(12):(13)语(14)言(15)选(16)型(17)与(18)函(19)数(20)变(21)量(22)管(23)理(24) 24字可以但缺少设计,原题有函数设计,这里只用了函数没提设计可以改为函数设计与变量管理但字数增加分布式事务专家谈架构精要:语言选型、函数设计与变量管理 数:分1布2式3事4务5专6家7谈8架9构10精11要12:13语14言15选16型17、18函19数20设21计22与23变24量25管26理27 共27字,可以接受标点算一个字?中文标点算一个字符27字符合输出这个标题即可nn另外,注意要求是与“技术、科技”相关,这个标题已经涉及技术科技直接输出
框架选型与高效设计:网站所有者实战解析,reasoning_content:我们要求以网站所有者的口吻,写一个与技术、科技相关,关于[网站构建核心:框架选型与高效设计实战解析]的标题需要简短精炼,30字以内直接输出标题nn思路:网站所有者口吻,可能强调实际经验、选型决策、高效实战等例如:框架选型与高效设计:我的网站构建实战解析 但字数?可以更精炼网站构建核心:框架选型与高效设计实战 但需要体现网站所有者口吻,可以用我或我的推荐:我的网站构建核心:框架选型与高效设计实战 字数13字?我的网站构建核心:框架选型与高效设计实战 共14个字?我的网站构建核心:框架选型与高效设计实战解析 多了解析两字原文要求包括[网站构建核心:框架选型与高效设计实战解析],所以标题中应该包含这个内容,或者用其作为子标题?但要求写一个标题,直接输出可以写:网站构建核心:框架选型与高效设计实战解析 但缺少口吻加上我或作为网站所有者太长了简洁: 框架选型与高效设计:一位网站所有者的实战解析 字数14?框架选型与高效设计:网站所有者实战解析 13字或者网站构建核心:框架选型与高效设计实战解析 就是原样,但没口吻最好稍微改一下:我的网站构建核心:框架选型与高效设计实战 15字或者网站所有者视角:框架选型与高效设计实战 15字选一个最符合的nn注意:要求以网站所有者的口吻,所以最好有第一人称或明确表明身份比如:作为网站所有者,我如何选型框架与高效设计 但超字数?框架选型与高效设计:网站所有者实战解析 正好我输出这个
16 9 月 2026, 周三

这篇文章主要讲解了“Nginx日志及性能排查举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nginx日志及性能排查举例分析”吧!
 
导读
最近一直在做性能排查,思路就是根据分析nginx日志,得到响应耗时的url、以及请求时间,再得到这段时间的请求量,并发量,分析是并发的原因,还是本身就比较慢,如果是应用本身的原因,只需要找到对应的代码,然后进行优化就好了
 
我找到的几个原因,基本就是后端sql运行的比较多,单次访问看不出来,但是人比较多的时候就比较慢了,人少的时候20-200毫秒,人多的时候,200-6000毫秒,优化之后基本保持在几十毫秒,优化策略就是减少不必要的sql,加上缓存,基本解决了卡顿的问题,顺便把这次用的一系列 命令记录下来,当个总结吧
 
如果需要得到请求处理的时间,需要在nginx log 里面加上$request_time,下面是我的log_format
 
nginx.conf
 
log_format  main  '$remote_addr – $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent $request_body "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for" "$request_time"';
修改之后重启nginx,查看nginx log的时候,就能看到nginx处理请求所花的时间了,这个时间基本就是后端所花的时间,所以可以根据这个字段来得到响应慢的请求
 
以下是就是我用到的一些 命令了
 
获取pv数
 
<1code class="hljs shell">$ cat /usr/local/nginx/logs/access.log | wc -l
获取ip数
 
$ cat /usr/local/nginx/logs/access.log | awk '{print $1}' | sort -k1 -r | uniq | wc -l
获取最耗时的请求时间、url、耗时,前10名, 可以修改后面的数字获取更多,不加则获取全部
 
$ cat /usr/local/class/logs/access.log | awk '{print $4,$7,$NF}' | awk -F '"' '{print $1,$2,$3}' | sort -k3 -rn | head -10
获取某一时刻的请求数量,可以把秒去掉得到分钟的数据,把分钟去掉得到小时的数据,以此类推
 
$ cat /usr/local/class/logs/access.log | grep 2017:13:28:55 | wc -l
获取每分钟的请求数量,输出成csv文件,然后用excel打开,可以生成柱状图
 
$ cat /usr/local/class/logs/access.log  | awk '{print substr($4,14,5)}' | uniq -c | awk '{print $2","$1}' > access.csv
 
上面的图是用excel生成的,也可以用命令行工具gnuplot生成png,我也试了一下,没什么问题,直接以编程的形式得到报表,去掉人工操作部分,很方便,但是有一点就是x轴数据比较多的时候,不能像excel一样自动稀释数据,所以我还是喜欢用excel来生成
 
其实用来用去也就是那么几个命令:
 
cat:输入文件内容
 
grep:过滤文本
 
'sort':排序
 
'uniq':去重
 
'awk':文本处理
 
命令组合使用,单个命令可以使用多次,来达到多重过滤的效果,前面一个命令的输出就是后一个命令的输入,流式处理,只要学会这个命令,有多看似复杂的东西,都变得异常简单。
 
上面介绍的都是命令,下面再介绍一个直接输出html的。
 
利用go-access来分析nginx日志
 
cat /usr/local/nginx/logs/access.log | docker run –rm -i diyan/goaccess   –time-format='%H:%M:%S'   –date-format='%d/%b/%Y'   –log-format='%h %^[%d:%t %^] "%r" %s %b "%R" "%u"' > index.html
 
go-access是以docker容器的形式运行的,只要你安装了docker,就能直接运行,免安装很方便
 
以上 脚本,配合日志每天的日志分割,然后在crontab里面配置一下自动运行 脚本,可生成每一天的nginx报表,网站情况一幕了然,当然这里也有缺点,因为不实时
 
想要统计实时数据,可以使用ngxtop 来查看,安装起来也很简单
 
$ pip install ngxtop
运行的话,先进到nginx目录,然后再运行,-c 指定配置文件,-t 刷新频率,单位为秒
 
$ cd /usr/local/nginx$ ngxtop -c conf/nginx.conf -t 1
但是这种实时的方式,还需要ssh远程登录,不太方便,还可以使用lua来进行实时统计,然后写一个界面把数据展示出来,通过 lua-nginx-module,nginx/tengine 都可以用,如果直接安装openresty的话,就方便了,内嵌了lua,不需要重新编译nginx了。
 
感谢各位的阅读,以上就是“Nginx日志及性能排查举例分析”的内容了,经过本文的学习后,相信大家对Nginx日志及性能排查举例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

dawei

您错过了

分布式事务专家谈架构精要:语言选型、函数设计与变量管理,reasoning_content:我们要求以分布式事务专家的口吻,写一个与“技术、科技”相关,关于[后端架构精要:语言选型、函数设计与变量管理指南]的标题直接输出一个标题,不要加说明提示等信息简短精炼,字数控制在30字以内nn标题需要体现分布式事务专家的口吻,同时涵盖后端架构精要、语言选型、函数设计、变量管理可能的标题如:分布式事务专家谈后端架构:语言选型与函数设计变量管理精要 但字数可能超或者更简洁:专家视角:后端架构精要之语言选型与函数变量管理 但需要体现分布式事务专家可以:分布式事务专家:后端架构精要之语言选型与函数变量管理 字数?数一下:分布式事务专家:后端架构精要之语言选型与函数变量管理(共?)分布式事务专家:后端架构精要之语言选型与函数变量管理 汉字+标点:分(1)布(2)式(3)事(4)务(5)专(6)家(7):(8)后(9)端(10)架(11)构(12)精(13)要(14)之(15)语(16)言(17)选(18)型(19)与(20)函(21)数(22)变(23)量(24)管(25)理(26) 共26个字,在30以内但变量管理可能不够精确,原题是变量管理指南,可以保留指南?但字数限制或者分布式事务专家:后端架构精要-语言选型、函数设计与变量管理 多了设计尝试更精简:分布式事务专家:后端架构之语言选型与函数变量管理 去掉精要,更短但原题有精要,最好体现或者分布式事务专家谈架构精要:语言选型与函数变量管理 字数?分布式事务专家谈架构精要:语言选型与函数变量管理 共20字?数:分(1)布(2)式(3)事(4)务(5)专(6)家(7)谈(8)架(9)构(10)精(11)要(12):(13)语(14)言(15)选(16)型(17)与(18)函(19)数(20)变(21)量(22)管(23)理(24) 24字可以但缺少设计,原题有函数设计,这里只用了函数没提设计可以改为函数设计与变量管理但字数增加分布式事务专家谈架构精要:语言选型、函数设计与变量管理 数:分1布2式3事4务5专6家7谈8架9构10精11要12:13语14言15选16型17、18函19数20设21计22与23变24量25管26理27 共27字,可以接受标点算一个字?中文标点算一个字符27字符合输出这个标题即可nn另外,注意要求是与“技术、科技”相关,这个标题已经涉及技术科技直接输出