访问页面转圈圈,怎么分析

测试中碰到响应时间慢、TPS上不去、访问页面转圈圈,该怎么分析?把从发请求到返回请求整个架构图画出来,分析整个链路中哪些地方可能导致这些问题。

通常碰到这些问题,都是由以下11种情况导致,下面我们挨个分析,查找问题。

1)客户端

原因:客户端请求发布出去,有可能导致页面转圈圈

排查:请求一下其他地址,若访问其他地址没问题,请求能发出去,则可排除客户端问题。

 

2)网络

原因:服务器网络很慢或者TCP/IP连接满了有可能导致访问结果很慢,页面在转圈圈

排查:

①netstat i查看服务器网络丢包情况

②ping服务器,查看是否有丢包

 

3)CPU load

原因:cpu高、负载高,资源竞争,抢时间片,线程等待cpu去调度

排查:top看cpu,负载有没问题

 

4)内存泄漏、gc

原因:

排查:oom时发请求无法在eden去new对象,请求无法处理,gc时对象new完,请求暂停处理,页面转圈圈

ps -ef |grep java

Jstat -gcutil pid,查看老年代是否满,看是否在不停full gc,如下图老年代没满,说明没有oom;FGC数量也没有增加,说明不是gc导致页面转圈圈

 

5)wait for io等待磁盘io

原因:等待磁盘io,cpu空闲不干活,导致页面转圈圈

排查:iostat -x,查看是否有io队列

* rrqm/s:每秒进行 merge 的读操作次数,即 delta(rmerge)/s 。 Ø

* wrqm/s:每秒进行 merge 的写操作次数,即 delta(wmerge)/s 。 Ø

* r/s:每秒完成的读 I/O 设备次数,即 delta(rio)/s 。 Ø

* w/s: 每秒完成的写 I/O 设备次数,即 delta(wio)/s 。 Ø

* rsec/s:每秒读扇区数,即 delta(rsect)/s。 Ø

* wsec/s:每秒写扇区数,即 delta(wsect)/s  Ø

* rkB/s:每秒读K字节数,是 rsect/s 的一半,因为每扇区大小为512字节。 Ø

* wkB/s:每秒写K字节数,是 wsect/s 的一半 Ø

* avgrq-sz:平均每次设备I/O操作的数据大小 (扇区),即delta(rsect+wsect)/delta(rio+wio)

* avgqu-sz:平均I/O队列长度,即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。                  

* Await:请求队列中等待时间+svctm(服务时间) 单位是毫秒,按照每次IO平均。 ,即  delta(ruse+wuse)/delta(rio+wio) 。 一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。 这个时间包括了队列时间和服务时间,也就是说,一 般情况下,await大于svctm,它们的差值越小,则说明队列时间越短,反之差值越大,队列时间越长,说明系统出了问题。 Ø

* Svctm:平均每次设备I/O操作的服务时间 (毫秒),即 delta(use)/delta(rio+wio) 。

* %util:一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的,  即 delta(use)/s/1000 (因为use的单位为毫秒) 。

 

6)web容器排队、连接池

tomcat监听怎么配置

 

7)数据库连接池排队 连接池不释放

排查:查看数据库连接池是否满了

①查看项目配置文件中配置的最大连接数,一般配置文件在../webapps/dangdang_dk/WEB-INFO/class下,maxActive=20,代表最大连接数为20

②执行语句show PROCESSLIST,查看数据库连接数,若当前连接数=20则数据库连接池满

附加:

①数据库连接池有2个,一个是mysql数据库对外提供的连接数(所有的数据库加起来对外提供的连接数),在my.cnf中配置,一个是当前项目的数据库连接数

②如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。 show processlist;只列出前100条,如果想全列出请使用show full processlist; 

 

8)慢查询

排查:前提,已开启数据库慢查询,show variables like 'slow_query%';查看祝健康慢查询日志中是否有慢查询语句

附加:开启慢查询的两种方法

①将slow_query_log 全局变量设置为“ON”状态

  set global slow_query_log='ON';

  设置慢查询日志存放的位置

  set global slow_query_log_file='/opt/slow.log';

  查询超过1秒就记录

  set global long_query_time=1;

②修改配置文件my.cnf,在[mysqld]下的下方加入

  slow_query_log = ON

slow_query_log_file = /usr/local/mysql/data/slow.log

long_query_time = 1

 

9)数据库死锁

原因:语句执行不了    

排查:

①show engine innodb status查看status

②SELECT * FROM information_schema.INNODB_TRX; (定位哪个线程导致死锁)

 

10)线程死锁

①ps -ef |grep java,查找pid

②jstack pid > aaa,将线程栈文件重定向到aaa中

③过滤http线程,查看里面的blocked(monitor)状态线程,或者大量的waitting线程,如下图则是DbUtil.java文件中getConnection出现问题,导致线程死锁

 

11)业务逻辑

更多内容欢迎关注微信公众号查看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/18621.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker desktop 点击setting 一直转圈圈

docker desktop, 右键点击setting ,界面打开后一直转圈圈问题 1、打开运行,在空框中输入powershell并点击确定: 2、在PowerShell中输入: docker images报错 error during connect: In the default daemon configurati…

网络卡打开网页在转圈圈怎么解决?

出现这种问题,先去网络和共享中心看一下以太网的详细信息,看有没有网络(操作如下) 右键点击打开网络和Internet设置,点击以太网 右侧相关设置点击网络和共享中心 点击以太网 通过这个界面判断有没有网络先 ipv4连接有…

win10电脑开机鼠标一直在转圈圈

概述: win10电脑开机鼠标一直在转圈圈,还等很久才能反应过来这谁顶的住呀!!! 办法一: 控制面板——》用户账户——》更改用户账户控制设置 设置为从不通知,重启电脑。 方法二: win…

已解决 文件右键转圈圈,电脑卡死

怀着激动的心,颤抖的手,在深夜,将我成功的 “”经验“ 分享给大家,希望能帮助和我一样经历的人儿。。。 起因:360清理系统 症状:文件/文件夹右键转圈圈,电脑卡死 经过:在网上查找…

右键文件夹一直转圈圈怎么办

一、下载并安装Windows 10 Manager 官方下载地址:https://www.yamicsoft.com/cn/windows10manager/product.html 或到我的蓝奏云上下载: https://wwr.lanzoui.com/i5NSdr4umad 密码:hz16 二、打开软件,选择自定义菜单,再点击右…

魅族开机卡flyme转圈圈

魅族开机卡flyme转圈圈可能是系统原因,可以尝试恢复出厂设置,操作步骤如下: 1、长按音量的上键和电源键 长按手机上的音量的上键和电源键。 2、恢复出厂设置 等待进入emui界面,点击恢复出厂设置的选项。 3、重启手机 重新启动…

win10鼠标右键文件夹一直转圈圈

问题描述:今天想创建一个文件夹,往文件夹里存点东西,准备鼠标右键文件夹给文件夹重命名一下,结果一点鼠标右键,就一直转圈圈,过了一会显示window未响应。结束进程后,我先尝试了在桌面空白处点击…

windows10右键文件夹菜单资源管理器卡死(转圈圈)

问题描述 在今年的某月某日的某一刻,我突然发现我右键文件夹后,鼠标一直转圈圈,然后就啥都做不了了,然后鼠标一直点一直点,直到把资源管理器点了卡死关闭,才能操作其他的,经过一番折腾发现&…

微软账户登录一直转圈圈怎么办?

微软账户登录一直转圈圈怎么办? 很多时候会出先这样的情况,话不多说,直接来解决办法 第一种 1、在登录Windows10系统的时候,如果登录异常,则不要使用Administrator超级用户登录系统,而是使用新建的帐户登…

loading--加载转圈圈效果

vue–loading–加载转圈圈效果 哈哈哈哈哈,固定的就很糟糕,使用的时候需要自己改,还好我自己不需要 分为:large(大) medium(中) small(小);由于我…

右击文件夹一直转圈圈卡死

Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)AppXManifest.xml"} 打开后,输入上面的代码,回车执行便可解决该问题。

文件夹右击一直转圈圈

“百度网盘问题”。在火绒(其他安全管家,安全卫士也可以)“右键管理菜单”里把“百度网盘”的勾取消了就可以 第一步 第二步 第三步

从Chat-GPT了解技术概念及医疗领域应用

导读 作者来自互联网医疗服务团队,团队一直致力于在医疗行业中探索和应用前沿科技。目前主要在医学对话,远程医疗、医学影像诊断等方面进行探索和尝试,相信可以为医生和患者带来更好的医疗服务。 01 前言 最近OpenAI在官网上宣告了多模态大模…

ChatGPT训练三阶段与RLHF的威力

在探讨“ChatGPT为什么能够捕捉我们的想象力”的文献中,一般可以看到两种说法:规模化为其提供更多的数据和计算资源;提示界面转向更自然聊天界面的用户体验。 然而,人们常忽略了这样一个事实,即:创造像Chat…

HTTPS - ChatGPT解答

1 HTTP 和 HTTPS HTTP和HTTPS都是用于传输Web数据的协议,但它们之间有几个重要的区别: (1)安全性:HTTP是明文传输协议,数据在传输过程中是不加密的,容易被黑客窃取或篡改。而HTTPS使用SSL/TLS…

【ChatGPT】ChatGPT统计富豪信息

参考视频:https://edu.csdn.net/learn/38346/613916 2023福布斯中国香港富豪榜前50名中,属于房地产行业的有多少人,占比是多少 相关链接:https://www.forbeschina.com/lists/1800 1.将数据从网站上粘贴到excel中,删除空行 2.问…

我用 ChatGPT 干的 18 件事!【人工智能中文站创始人:mydear麦田访谈】

新建了一个网站 https://ai.weoknow.com/ 每天给大家更新可用的国内可用chatGPT 你确定你可以使用ChatGPT吗? 今天我整理了18种ChatGPT的使用方法,让大家看看你可以使用哪些。 1.语法修正 2.文本翻译 3.语言转换 4.代码解释 5.修复代码错误 6.作为百科…

基于pytorch自己训练一个小型的chatgpt闲聊程序

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、GPT介绍1.无监督预训练2.有监督下游任务精调3.适配不同的下游任务 二、基于pytorch自己训练一个小型chatgpt1.数据集2. 模型3.方法介绍4.核心代码展示4.实现效果…

chatgpt赋能python:Python如何删查网易云的VIP音乐?

Python如何删查网易云的VIP音乐? 介绍 近年来,网易云音乐成为了国内最受欢迎的音乐平台之一,拥有海量的音乐资源,但其中部分高品质音乐需要付费成为VIP用户才能畅听。许多用户为了节省开支,想要了解如何在不付费情况…

调用网易云api接口

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术:HBuilder X 作者:吴业华 撰写时间:2021年5月2号 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~…