首页 > 其他分享 >某环境解决卡顿问题的思路和过程

某环境解决卡顿问题的思路和过程

时间:2023-11-28 23:48:04浏览次数:45  
标签:发现 数据库 问题 解决 思路 应用服务器 卡顿 延迟

某环境解决卡顿问题的思路和过程


背景

部分环境经过一段时间的运行后出现了卡顿现象.
严重时出现了 jdbc的data access的异常提示信息. 

接到这个问题后,自己进行了一些处理.
这里总结一一下问题的处理过程以及思路

问题现象

应用服务器是 linux + springboot开发的应用
数据库是 Windows2012r2+SQL2012的数据库
分别在两个物理机上面, 配置类似,大约都是8c32G的配置 或者是更高
数据库的数据文件大约有100G

应用服务器经常反馈登录慢,启动慢等问题

思路与解决

整体分析
确认同事的说法, 登录产品进行验证的确出现了很高的延迟

1. 打开F12 进入network进行查看,发现有很多请求出现了 十几秒甚至分钟级别的操作. 判断系统有问题

2. 同事之前部署过 actuator 直接使用grafana 展示 主要是展示GC和应用服务器的使用情况
当时发现GC 每小时不到3次. 应用服务器CPU压力不大
但是明显能够发现有分支级别的http请求返回.

3. 查看数据库, 物理机层面发现IO的延迟都是20ms左右没有太大瓶颈.感觉很奇怪
进入操作系统, 发现存在任务管理器->性能->磁盘响应延迟到了 2秒级别 发现IO问题已经非常严重. 

4. 第一个解决办法, 先将数据库迁移到SSD类型的存储上面. 因为前期为了数据安全采用的2THDD*RAID6的设置
虚拟机运行了很多, 加之有快照和虚拟机存在较多的碎片, 所以存在较高的风险

5. 虚拟机迁移完毕之后再次验证, 发现在高并发情况下 使用hikari的监控有大量的连接超时操作
登录服务器,发现应用和数据库存在较大的时间差异, 修改配置, 增加ntp到阿里云的同步处理
并且将同步频率修改到 1小时一次, 避免再次出现问题

6. 继续运行未再现问题. 

思考

1. 不管什么类型的环境,只要有了数据量和并发的要求,  数据库与应用都必须得拆开
   并且建议不属于不同的主机上面, 避免互相干扰. 

2. 数据库的存储尽量要好一些, 至少延迟不能太高. 高延迟会带来很多奇奇怪怪的问题.

3. 增加监控尤其是GC,thread,hikari连接池,以及主机,网络监控
   有条件增加对数据库尤其是慢SQL, 阻塞SQL的监控. 实时发现,督促解决. 

4. 出现问题要逐个逐层分析, 逐层验证, 不建议一次修改太多变量, 避免问题定位失真. 

5. 应用服务器虽然不太考验IO,但是如果有大量的零散文件还是会影响文件系统的性能. 
   建议不要在应用服务器上面存储太多零散文件.  

6. 数据库要对大型表,大数据,大行数,以及大量变更的表入录台账, 通过分区表,归档历史数据等方法来规避
   大表索引层级出现问题导致性能下降的情况. 

7. 出现问题不要惊慌, 解决问题的过程就是能力提升的过程. 全面分析,抓住重点,解决问题. 

8. 监控,指标很重要,收集足够的信息能够避免进入歧途. 

标签:发现,数据库,问题,解决,思路,应用服务器,卡顿,延迟
From: https://www.cnblogs.com/jinanxiaolaohu/p/17863451.html

相关文章

  • 让AI价值落地:打造下一代智能化解决方案
    “数字化时代是让人兴奋、开心的,也是让人惶恐的。”东软集团创始人、董事长刘积仁在“东软解决方案论坛2023”的演讲中表述了对时代的敬畏。作为一家成立32年的老牌软件企业,东软集团是中国社会数字化的实践者、推动者,也是见证者。在三十多年前,学计算机的都被称为科学家,后来叫工程师......
  • 求解--JFinal项目启动之后在浏览器显示不了的问题(未解决)
    问题描述问题解决......
  • 让AI价值落地:东软打造下一代智能化解决方案
    “数字化时代是让人兴奋、开心的,也是让人惶恐的。” 东软集团创始人、董事长刘积仁在“东软解决方案论坛2023”的演讲中表述了对时代的敬畏。作为一家成立32年的老牌软件企业,东软集团是中国社会数字化的实践者、推动者,也是见证者。在三十多年前,学计算机的都被称为科学家,后来......
  • java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.LoopTag问题的解决
    问题描述问题解决将这个依赖:改成这个依赖:......
  • 注册Steam账号无响应的解决办法,教你怎么提供Steam的人机图片验证
    Steam注册问题解决办法分享注册Steam时进行人机身份验证,总是有一堆图片验证不完,点【继续】后上方弹出【您对CAPTCHA的响应似乎无效。请在下方重新验证您不是机器人。(引用ID:3811775249663914774)】的提示。】按照网上的方法,重复更换了浏览器和设备都无效,遇到这种提示应该怎么办......
  • svn更新、还原、清理报错解决
    以下图报错为示例来操作解决方法看上图报的是不能打开文件“C:\vHero220609.svn\pristine\3c\3cf73819899816c3812587e10a9de237fa206dcd.svn-base”系统找不到指定的文件实则就是说svn-base这个文件被误删或者360把这个文件给隔离了,才导致svn报错。那我们就直接进到对应......
  • SVN Cleanup失败解决方法
    使用svn的过程中经常会遇到update的过程中因为某些原因导致强行关闭svn,然后在去更新就好提示要执行“Cleanup”指令,可以执行Cleanup指令的时候又提示报错,这样就进入死循环了。现在讲一下怎么解决不能“Cleanup”问题。1、先下载sqlite3.exe(复制粘贴搜索这个路径下载)\bcfs\files......
  • element-plus 报错 ResizeObserver loop limit exceeded 解决
    解决方案代码如下:constdebounce=(fn,delay)=>{lettimer=null;returnfunction(){letcontext=this;letargs=arguments;clearTimeout(timer);timer=setTimeout(function(){fn.apply(context,args);},delay);}}......
  • MySQL5.6建索引时遇到 Specified key was too long; max key length is 767 bytes错误
    解决方法//查看showvariableslike"innodb_large_prefix";showvariableslike"innodb_file_format"; //修改最大索引长度限制 setglobalinnodb_large_prefix=1;或  setglobalinnodb_large_prefix=on;setglobalinnodb_file_format=BA......
  • 水库河道生态流量监测与防灾预警系统解决方案
    目前,为保护河流生态环境,推动水资源科学、合理、有序开发和可持续利用,我国各地水利和环保部门相继出台措施生态流量相关政策,实现生态流量的监测与管理。近年来,由于缺乏对各个水库河道生态流量的有效调节与监管,造成部分河段减水、脱水甚至干涸,一定程度上影响了河流的正常生态功能和群......