`

这是架构师的知识范畴吗: 网站莫名其妙很卡的案例分析

 
阅读更多
当网站莫名很卡的时候, 查故障可以考虑的事项:
判断内因, 外因, 是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
分享到:
评论

相关推荐

    软考系统架构师案例分析知识点整理

    ### 软考系统架构师案例分析知识点整理 #### 一、系统规划 - **系统项目的提出与预可行性分析**: - 分析系统项目的背景、目的和必要性。 - 对项目的初步预算、时间安排和技术可行性进行评估。 - **系统方案的...

    大型网站技术架构:核心原理与案例分析.pdf

    《大型网站技术架构:核心原理与案例分析》不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内的...

    系统架构师案例分析.rar

    《系统架构师案例分析》是针对软考的一项重要学习资源,主要涵盖了系统架构设计与实践的相关知识。在准备此类考试或提升自身技能时,深入理解并掌握这些案例分析至关重要。以下将从多个方面对系统架构师的角色、职责...

    架构师的自我修养pdf

    这种能力不仅源于架构师的专业技术知识和经验积累,还来自于他们对业务场景的理解、对人性的把握以及对世界的认知。 架构师应具备的自我驱动力、积极主动、持之以恒的精神,以及高效学习、发现自我、形成模式、目标...

    2015年系统架构师考试科目二:案例分析1

    本文讨论的是系统架构师考试中的案例分析,主要涉及了软件架构评估和设计建模的相关知识点。首先,我们需要理解系统架构评估的关键要素,包括质量属性的识别、优先级排序以及架构风险、敏感点和权衡点的分析。 1. ...

    软考系统架构师案例分析知识点整理.doc

    软考系统架构师案例分析知识点整理.doc

    数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用 EPUB

    数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用 EPUB 数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用 EPUB 数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用 EPUB

    大型网站技术架构:核心原理与案例分析

    《大型网站技术架构:核心原理与案例分析》一书深入探讨了构建和优化大型网站背后的关键技术和策略。大型网站架构是互联网行业中一个至关重要的领域,它涉及到如何处理高并发访问、海量数据存储、高可用性、性能优化...

    大型网站技术架构 核心原理与案例分析 高清完整版 李智慧.pdf

    大型网站技术架构:核心原理与案例分析 本书作者是阿里巴巴网站构建的亲历者,拥有核心技术部门的一线工作经验,直接体验了大型网站构建与发展过程中的种种生与死,蜕与变,见证了一个网站架构从幼稚走向成熟稳定的...

    大型网站技术架构:核心原理与案例分析PDF

    《大型网站技术架构:核心原理与案例分析》这本书聚焦于探讨如何构建和优化大型网站的技术架构,以应对海量用户和高并发访问的挑战。在互联网行业中,淘宝等大型平台的技术架构设计是业界的典范,它们的技术实践为...

    大型网站技术架构:核心原理与案例分析

    , 《大型网站技术架构:核心原理与案例分析》不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内...

    大型网站技术架构:核心原理与案例分析+李智慧.rar

    《大型网站技术架构:核心原理与案例分析》是李智慧先生的一部著作,该书深入探讨了构建和优化大型网站所需的关键技术和实践经验。在大型互联网公司的日常运营中,技术架构的选择和演进对于系统的稳定性和扩展性至关...

    软考架构设计师 案例分析

    【软考】架构设计师 案例分析【软考】架构设计师 案例分析【软考】架构设计师 案例分析【软考】架构设计师 案例分析【软考】架构设计师 案例分析【软考】架构设计师 案例分析【软考】架构设计师 案例分析【软考】...

    天翼云认证解决方案架构师

    天翼云认证解决方案架构师题库知识点,帮你直接通过天翼云解决方案架构师认证考试。天翼云认证解决方案架构师题库知识点,帮你直接通过天翼云解决方案架构师认证考试。天翼云认证解决方案架构师题库知识点,帮你直接...

    高级系统架构师经典案例分享

    本资源“高级系统架构师经典案例分享”聚焦于这一领域的专业知识与实践经验,旨在为有志于提升自己在系统架构方面能力的IT从业者提供宝贵的学习材料。 首先,系统架构师需要对计算机科学基础有深入理解,包括数据...

    历年高级系统架构师真题

    历年高级系统架构师真题是备考这一专业资格考试的重要参考资料,涵盖了从2009年至2017年的历年试题,旨在帮助考生全面理解并掌握系统架构设计的核心知识和技能。 在这些历年真题中,我们可以看到一系列关键知识点的...

    大型网站技术架构:核心原理与案例分析_李智慧.pdf

    本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布...

    架构师的自我修养.docx

    架构师的自我修养需要具备深入的技术知识和丰富的工作经验,需要具备高级工程师之上的能力和知识,需要具备很好的综合素养,能够与相关干系人协作,达成项目目标。 架构师的自我修养需要具备技术开源化、产品敏捷化...

Global site tag (gtag.js) - Google Analytics