0
点赞
收藏
分享

微信扫一扫

实战云服务器选型优化

【记一次CPU 使用率低、LOAD持续高的问题排查】

1.问题背景

最近有RD反馈自己的业务有一台高配服务器用户反馈非常卡顿,看看是不是需要扩容,但是说CPU使用率其实不算很高,不知道为啥总是卡顿。经过核实资源,发现机器配置非常高,64C256G内存的服务器,使用率在30~40%左右,通过经验判断应该不是服务器CPU不够导致的卡顿,单纯的扩容应该也解决不了,决定综合分析,看看问题根源并解决。

2.分析问题

通常这类性能问题,我们就要去看性能的监控,首先我们查看了最近1个月的情况

指标

使用情况

分析

CPU USAGE

30%~40%

从监控看一直很均衡,而且是64C,基本可以排除CPU性能不够问题

MEM USE

100%

均衡在100%状态,从这看内存使用率异常,可能是内存分配不合理,也有可能是内存使用不合理(外部代码基本不可能修改)

NET IO IN

50Mbps

入带宽基本可以忽略不记,服务器网卡为千兆网卡

NET IO OUT

250Mbps

出带宽虽然量不小,但是还没到导致阻塞的状态

CPU LOAD

12~14

持续12~14,非常异常,由于CPU配置高,这块很容易忽略,需要重点关注

​​DISK.IO​​

100%

大量的100%状态,结合LOAD和IO使用率,可以定位问题出在磁盘性能

总结分析:

从目前的分析结果看,异常数据主要体现在3个方面:

  • 1.CPU LOAD 持续飙高,说明服务器的负载高(等待运行和正在运行的进程过多)但CPU 使用率不高,说明服务器运算能力没有问题(64C)。
  • 2.内存使用率持续100%,表示内存大量数据不能正常释放,或者启动分配了异常内存。
  • 3.磁盘IO使用率持续100%,说明大量数据写入磁盘,导致磁盘性能不足,另外结合监控图发现,IO阻塞和CPU LOAD高正相关。

从以上分析结果,我们可以考虑优化下面方向:

  • 1.分析内存大量数据来源和服务器分配内存的策略(内存虽然使用率越高越好,但过高溢出会导致OOM,理想状态是在80%左右稳定运行)
  • 2.提高磁盘的写入能力,减少IO等待(分析看,这个最有效)
  • 3.减少磁盘写入数据,减少IO等待(看起来可行,但实施成本最高)

3.优化方案

经过和RD一起排查和综合当前的系统情况,最终确定了短期和长期方案,短期方案是从系统层解决IO阻塞问题,长期从代码层优化内存使用、IO写入问题,这里我就说一下系统层优化方案,主要考虑2个点:

  • 1.服务器使用率(目前的服务器CPU浪费严重、磁盘使用率低)
  • 2.提高系统的IO能力(从目前看主要是磁盘写入能力不够)

最终的优化方案:

  • 1.把服务器从高计算型服务器改成内存型服务器(从64C156G变成16C256G)
  • 2.减少磁盘大小并更换为SSD磁盘(从高效云盘变更为SSD磁盘)
  • 3.平滑迁移(保持旧服务器不变的情况下,新增服务器做对比)

4.最终效果

  • 1.CPU 使用率从之前的30%~40% 提升到70%~80%
  • 2.磁盘IO 100%使用率减少50%左右
  • 3.CPU LOAD 减少50%左右
  • 4.费用减少2234元/月
  • 5.系统卡顿有明显提升

附图,蓝色为优化前的服务器运行情况,黄色为优化后的服务器运行情况

实战云服务器选型优化_优化


举报

相关推荐

0 条评论