服务器负载暴涨以后...

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

 服务器负载暴涨以后

作者:田逸( sery@163.com) from:http://b.formyz.org/2011/1124/53.html
 
正在赶写演讲的ppt,突然听到短信想起,没理会,以为是广告呢。刚放下念头,短信接连不断的响起来,不用想,准是哪个服务器报警了。
 

打开nagios监控见面,发现3个服务器(3个服务器处于同一个集群下,业务为论坛,同时在线人数大概4万人)的load过高,处于warning状态

1、 先查看访问流量,通过对比,跟以前没什么差别。
2、 查看每个服务器的进程数和cpu使用情况,跟以前也没什么差别。

3、 查看系统日志,每个服务器都有“TCP: Treason uncloaked! Peer 113.247.241.146:21345/80 shrinks window 2128147967:2128149427. Repaired.

4、 查看php日志,大量“[WARNING] fpm_request_check_timed_out(), line 158: child 25379, script '/mnt/html/bbs/forum.php' (pool default) execution timed out (120.306361 sec), terminating”。打开论坛首页,居然花了120多秒。我在php配置文件里设置的执行中断时间是120秒,超过这个值则关闭该子进程。看来应该从这里下手了。

 
先问问其他人,最近有没有改程序,有没有加插件?答:“没有”。我再仔细检查了系统:

(1)       查看有没有文件系统损坏而不能写入

(2)       查看分区是否满(实际上满了的话,有短信报警的)

(3)       查看tcp连接状态,还没以前多呢,看来不是系统的问题

 
那么,与之有关联的还有数据库、nfs文件系统以及memchached。先检查容易的,好!先检查nfs,正常;再检查memcached,正常。看来估计数据库有什么问题了。
 
登录数据库,先查看数据库错误日志,tail –f 一下,滚动输出,看来问题找到了。输入的内容主要有一下几行:

[ERROR] Got error 134 when reading table './uc_mumayi/cdb_uc_members'

[ERROR] Got error 134 when reading table './uc_mumayi_net/cdb_uc_members'

[ERROR] /usr/local/mysql/libexec/mysqld: The table 'pre_common_session' is full

接下来,从处理表满开始,把它的行数值设置巨大一点,我设置的是1000万,指令为:mysql>ALTER TABLE pre_common_session MAX_ROWS=10000000; 完毕后3web服务器的负载马上就下降了。从报错信息中,可以判断有2个表可能损坏了。检查一下,如果真坏了,就修复一下吧!

1 )检查第一个表: mysql> check table cdb_uc_notelist; 输出为 +---------------------------+-------+----------+-----------------------------------------------------------+
| Table                     | Op    | Msg_type | Msg_text                                                  |
+---------------------------+-------+----------+-----------------------------------------------------------+

| uc_mumayi.cdb_uc_notelist | check | warning | 11 clients are using or haven't closed the table properly |

| uc_mumayi.cdb_uc_notelist | check | warning | Size of datafile is: 260372       Should be: 259760       |

| uc_mumayi.cdb_uc_notelist | check | error    | Wrong bytesec: 101-114-110 at linkstart: 258412           |

| uc_mumayi.cdb_uc_notelist | check | error    | Corrupt                                                   |

+---------------------------+-------+----------+-----------------------------------------------------------+
4 rows in set (0.04 sec)
真损坏了,修复一把:mysql> repair table cdb_uc_notelist; 输出为+---------------------------+--------+----------+-----------------------------------------------+
| Table                      | Op     | Msg_type | Msg_text                                      |
+---------------------------+--------+----------+-----------------------------------------------+

| uc_mumayi.cdb_uc_notelist | repair | info     | Wrong bytesec: 101-114-110 at 258412; Skipped |

| uc_mumayi.cdb_uc_notelist | repair | warning | Number of rows changed from 5715 to 5742      |

| uc_mumayi.cdb_uc_notelist | repair | status   | OK                                            |

+---------------------------+--------+----------+-----------------------------------------------+
(2)修复第2个表,方法同上。
(3)再次检查表状态。
(4)让管理员从后台登录,查看是否正常。
















本文转自sery51CTO博客,原文链接: http://blog.51cto.com/sery/723220 ,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
存储 弹性计算 缓存
ecs负载评估
ECS负载评估基于资源综合性能得分,衡量CPU、内存、磁盘I/O、网络和系统负载等指标。得分0-5为低负载,5-80正常,80-100高负载。高负载可能需优化或扩容。根据负载级别,可调整资源配置、优化性能或使用自动伸缩服务,确保服务稳定和高效。
170 2
|
7月前
|
存储 弹性计算 编解码
ecs实例规格工作负载模式
阿里云ECS实例有多种工作负载模式:计算密集型(适合高性能计算)、内存密集型(适用于内存数据库)、通用型(平衡资源,多场景适用)、大数据型(优化大数据分析)、共享型(低成本,轻负载)和企业级实例(高稳定性和隔离性)。用户依据业务需求选择实例规格,结合SLB和ESS服务可优化架构,应对动态负载。
66 4
|
4月前
|
负载均衡 网络协议 Linux
在Linux中,常用WEB服务器负载架构有哪些?
在Linux中,常用WEB服务器负载架构有哪些?
|
7月前
|
监控 测试技术
【亮剑】理解CPU负载对服务器稳定性的重要性,并提供了诊断和解决CPU负载过高问题的步骤
【4月更文挑战第30天】本文阐述了理解CPU负载对服务器稳定性的重要性,并提供了诊断和解决CPU负载过高问题的步骤:1) 使用监控工具分析CPU使用率和系统负载;2) 深入排查运行队列、进程占用、系统调用和硬件状态;3) 根据排查结果进行代码优化、调整进程优先级或限制CPU使用率,必要时升级硬件。建议建立监控体系,定期性能测试,并持续优化以保证服务器高效运行。
228 1
|
7月前
|
存储 弹性计算 前端开发
ECS负载问题之前端包加载很慢如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集:
|
7月前
|
弹性计算 监控 Linux
ECS实例问题之负载异常如何解决
ECS实例指的是在阿里云ECS服务中创建的虚拟计算环境,用户可在此环境中运行应用程序和服务;本合集将介绍ECS实例的创建、管理、监控和维护流程,及常见问题处理方法,助力用户保障实例的稳定运行。
|
存储 缓存 监控
Java 经典面试解析:服务器卡顿、CPU飙升、接口负载剧增
解决这个问题的关键是要找到Java代码的位置。下面分享一下排查思路,以CentOS为例,总结为4步。 第1步,使用top命令找到占用CPU高的进程。 第2步,使用ps –mp命令找到进程下占用CPU高的线程ID。 第3步,使用printf命令将线程ID转换成十六进制数。 第4步,使用jstack命令输出线程运行状态的日志信息。
292 0
|
缓存 运维 监控
如何通过一系列步骤来诊断和解决服务器CPU负载过高问题?
如何通过一系列步骤来诊断和解决服务器CPU负载过高问题?
940 0
WGCLOUD学习使用 - 服务器负载值过高会告警吗
会 如果主机的负载值超过告警阈值,就会发送告警通知
|
安全 NoSQL jenkins
Linux->服务器被挖矿&CPU或内存高负载处理
Linux->服务器被挖矿&CPU或内存高负载处理
291 0