摘要:
1.现象 QPS、TPS降低,CPU使用率超高导致宕机; 磁盘IO过高,网卡IO被占满 2.原因 SQL查询速度慢,语句效率低下; 服务器硬件性能差; 表数据文件巨大,表单超过千万行; 资源锁定造成数据库事务超时,数据库死锁; 事务粒度过大 3.解决办法(主要解决数据库的问题) 定位资源占用较大的事 阅读全文
摘要:
1.现象 磁盘读写速率、IOPS过高,系统出现卡顿 2.原因 SQL写法、参数配置不合理; 交换机故障,网线老化; 存储针列条带宽不足,缓存不足,Qos限制,RAID级别设置不当 3.解决办法(主要解决磁盘IO的问题) 通过把日志和数据库对象分布在独立的设备上 把不同的数据库放在不同的硬盘上 阅读全文
摘要:
1.现象 项目内存持续增加; 响应时间成规律性的先增加后回落; 查看应用日志,会出现OutOfMemoryError错误; GC日志发出FULL GC警告; 系统长时间运行后出现访问错误或宕机 2.原因 启动参数内存值设定得过小; 代码中存在死循环或者循环产生过多重复的对象实体; 集合类中有对对象的 阅读全文
摘要:
1.现象 系统访问卡顿,QPS、TPS降低,响应时间延长,网络吞吐量降低; 应用服务器内存和IO正常,CPU利用率增高 2.原因 线程太多,上下文切换太频繁; GC回收使用了过高的CPU资源; 某段代码陷入了死循环; 锁争用激烈 3.解决方法(主要解决CPU的问题) 考虑使用更高级的CPU代替当前的 阅读全文
摘要:
TPS=并发用户/平均响应时延 1、网络带宽 在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,超过了带宽的传输能力,那么就会造成网络资源竞争,间接导致服务端接收到的请求数达不到服务端的处理能力上限。 2、连接池 可用的连接数太少,造成请求等待。连接池一般分为服务器连接池(比 阅读全文
摘要:
1.先top ,然后按1 发现load average负载高. 然后用mpstat -P ALL 发现iowait不高,所以内存和IO暂时排除,top中wa不高,也验证了I/O没有问题 找其他导致CPU高的原因,找进程,找到占用CPU高的java进程PID,分别为1932,30693和30788 利 阅读全文
摘要:
一.操作系统计数器和分析 1.内存分析方法 iostat命令 Read(write) per sec :磁盘读写次数,一般>5,表示磁盘读,而不是缓存读 r/s w/s 磁盘使用率高,磁盘队列长(wait),而Read(write) per sec小,就是磁盘瓶颈 队列变长,而Read(write) 阅读全文
摘要:
一、CPU 查看使用情况: 1.vmstat 统计1-id计数 2.sar -u 统计1-%idle计数 3.dstat 统计1-idl计数 4.mpstat -P ALL 统计 1-%idle计数 5.ps 统计CPU计数 满载:vmstat 的r计数 sar -q, 错误:perf工具捕获错误信 阅读全文
摘要:
一.操作系统计数器和分析 1.内存分析方法 iostat命令 Read(write) per sec :磁盘读写次数,一般>5,表示磁盘读,而不是缓存读 r/s w/s 磁盘使用率高,磁盘队列长(wait),而Read(write) per sec小,就是磁盘瓶颈 队列变长,而Read(write) 阅读全文