服务端故障排查经验记录1——16核32G服务器满载问题

编程入门 行业动态 更新时间:2024-10-08 07:38:14

<a href=https://www.elefans.com/category/jswz/34/1769467.html style=服务端故障排查经验记录1——16核32G服务器满载问题"/>

服务端故障排查经验记录1——16核32G服务器满载问题

  • 2021年5月节假日, 某公司的16核32G服务器,CPU满载导致大量用户瘫痪2小时以上,这张图片是当时的服务器情况。
    经过现场分析数据库与服务端代码,做出以下分析及判断:
    1、服务端采用PHP开发,thinkphp3.2框架,没有redis或其他工具处理并发;
    2、服务端并发量为3000至5000,却把数据库资源占用100%、服务器资源占用100%,数据库用的还是4核的阿里云数据库;
    3、观察PHP代码,发现大量SQL查询没有使用索引查询,观察云数据库日志发现大量慢SQL,甚至出现一条SQL查询20分钟现象,且表数据量不到10万条记录;
    4、观察数据库表结构,发现大量表缺乏索引,没有遵守数据库设计三大范式,表内冗余严重。
    最终确认,最大问题是查询时没有使用索引列作为查询条件,导致大量慢SQL堆积,且没有并发处理机制,导致服务器瘫痪。
    处理办法是找到所有慢SQL,为查询、修改用到的关键字段加索引。最终有效解决问题。下图是忙时4核8G服务器运行状况:

更多推荐

服务端故障排查经验记录1——16核32G服务器满载问题

本文发布于:2024-02-19 16:36:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1765267.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:服务端   故障   经验   服务器

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!