当网站莫名很卡的时候, 查故障可以考虑的事项:
判断内因, 外因, 是linux上面的问题, 还是我的应用问题, 常见nginx, java(tomcat, netty)
内因:
cpu, 进程数, 内存
外网
流量, 被攻击(cc, 与流量相关)
常用排查手段
一.内网方面
top查看系统状态
top -c
1.根据进程号进行查询:
# pstree -p 进程号
# top -Hp 进程号
2.根据进程名字进行查询:
# pstree -p `ps -e | grep server | awk '{print $1}'`
# pstree -p `ps -e | grep server | awk '{print $1}'` | wc -l
二.外网方面
通过命令, 查看ip与主机连接数, 150以内都正常, 超过就很可疑了
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
执行效果如果
通过nethogs查看进程, ip, 上行, 下行
nethogs eth1
通过iftop查看ip, 上行, 下行, 峰值, 某时段流量
iftop -i eth1
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
实例:网站很卡, 使用xshell登陆上去, 但很卡, top -c 很慢, 以为是系统原因, 但用xftp下载个几k的文件也关天不动, 就很可疑了, 怀疑是网络问题, 使用aliyun的管理控制台直接连接终端, 这个比xshell可靠, 速度很正常, 查看内存, 进程等指标, 很正常, 查看管理控制台的网络, 发现网络出行与入行曲线相差很大, 而且出行已达峰值, 定位到是网络问题, 带宽占满了, 如图
剩下就是排查到位是哪个程序占用带宽了, 通过ifconfig查看哪个网卡的流量大,
然后使用iftop和nethogs查看, 如图
看出nginx比较可疑, 199k一支独秀, 查看nginx日志, 发现异常:
其中 120.24.78.101这个访问长时期持续访问, 取样其中一秒分析:达到75次
再算下流量 20292*74*8=12175.2k, 正好吻合10Mbs的带宽上限
至止, 问题找到了, 就是这丫的在做cc攻击, 而且, 这丫的还是阿里云的IP(有黑幕?)
剩下就是黑白名单问题了, 可以在nginx上限制最大连接数, 也可以在iptables上做, 这个就不在这里说了
中间比较坑的地方:
1. 刚开始通过xshell连接, top -c, -m 响应很慢, 甚至无响应, xftp下载个配置文件都没响应, 以为是系统太繁忙, 往把所有tomcat都关掉, 重启服务器之类的错误方向去了, 结果是带宽问题, 验证: 用浏览通过阿里云的管制控制台连接终端, 速度很正常, 看来那个不走限量带宽, 其实通过top也可以看见系统状态很健康, 只是缺乏自信
2. 使用nethogs和iftop监控, 最大值才250kB, 换算成位也就1M多些, 怎么会占满10M带宽, 结果是这些控制的采样不够精确, 也许也是我对这些工具的理解不够, 可以再配合tcpdump来统计一段时长的流量倒推
3. 75个请求/秒, 10M的带宽输出, 阿里云没报攻击, 也许这够不上攻击的级别吧, 一般认知: 连接数要超过200以上才算, 所以也没往攻击方面想, 看来看到nginx单点流量太突出, 查日志才知晓
4. 阿里云的态势感知里"流量分析", 跟ECS实例的网络监控不一致, ECS网络监控表明已经满10Mb, 但态势感知的流量分析里, 我们3个实例的总流量也就1MB, 其中涉事的服务器才200k, 当然是由于采样和显示的样本太粗, 没有对涉事服务器单点采样
ps: 为什么这个案例回顾起来是如此的简单, 可这个整整花了我2天的时候啊, 实时, 在线, 当时那个压力和崩溃啊
- 大小: 18.6 KB
- 大小: 35.2 KB
- 大小: 14.2 KB
- 大小: 44 KB
- 大小: 220.8 KB
- 大小: 16.6 KB
- 大小: 89.2 KB
- 大小: 4.4 KB
- 大小: 99.6 KB
分享到:
相关推荐
【测试架构师修炼之道:从测试工程师到测试架构师1】这本书主要探讨了软件测试工程师如何进行职业规划,以及如何成长为一名优秀的测试架构师。书中通过两个面试故事引入了核心议题,即测试的核心并不仅限于业务知识...
### 软考系统架构师案例分析知识点汇总 #### 一、软件架构风格概述 **软件架构风格**是描述某一类特定应用领域中软件系统组织方式和惯用方式的重要概念。它不仅涉及到软件系统的组成部分(即构件),还涉及到这些...
### 软考系统架构师案例分析知识点整理 #### 一、系统规划 - **系统项目的提出与预可行性分析**: - 分析系统项目的背景、目的和必要性。 - 对项目的初步预算、时间安排和技术可行性进行评估。 - **系统方案的...
《大型网站技术架构:核心原理与案例分析》不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内的...
9 淘宝网的架构演化案例分析 10 维基百科的高性能架构设计分析 11 海量分布式存储系统Doris的高可用架构设计分析 12 网购秒杀系统架构设计案例分析 13 大型网站典型故障案例分析 第4篇 架构师 14 架构师领导...
大型网站技术架构:核心原理与案例分析+李智慧大型网站技术架构:核心原理与案例分析+李智慧大型网站技术架构:核心原理与案例分析+李智慧大型网站技术架构:核心原理与案例分析+李智慧大型网站技术架构:核心原理与...
《系统架构师案例分析》是针对软考的一项重要学习资源,主要涵盖了系统架构设计与实践的相关知识。在准备此类考试或提升自身技能时,深入理解并掌握这些案例分析至关重要。以下将从多个方面对系统架构师的角色、职责...
这种能力不仅源于架构师的专业技术知识和经验积累,还来自于他们对业务场景的理解、对人性的把握以及对世界的认知。 架构师应具备的自我驱动力、积极主动、持之以恒的精神,以及高效学习、发现自我、形成模式、目标...
《大型网站技术架构:核心原理与案例分析》不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内的...
本资料集包含了2018年度系统架构师考试的案例分析和论文题目,为我们提供了深入理解这一职位所需技能和知识的宝贵资源。 首先,我们来看"系统架构师考题2018论文.pdf"。这篇论文可能涵盖了多个主题,包括但不限于:...
本文讨论的是系统架构师考试中的案例分析,主要涉及了软件架构评估和设计建模的相关知识点。首先,我们需要理解系统架构评估的关键要素,包括质量属性的识别、优先级排序以及架构风险、敏感点和权衡点的分析。 1. ...
数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用 EPUB 数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用 EPUB 数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用 EPUB
大型网站技术架构:核心原理与案例分析 本书作者是阿里巴巴网站构建的亲历者,拥有核心技术部门的一线工作经验,直接体验了大型网站构建与发展过程中的种种生与死,蜕与变,见证了一个网站架构从幼稚走向成熟稳定的...
《大型网站技术架构:核心原理与案例分析》这本书聚焦于探讨如何构建和优化大型网站的技术架构,以应对海量用户和高并发访问的挑战。在互联网行业中,淘宝等大型平台的技术架构设计是业界的典范,它们的技术实践为...