十几万连接几M的流量,吓死“宝宝”了

2024-05-26 07:18

本文主要是介绍十几万连接几M的流量,吓死“宝宝”了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    某局点升级(nginxats,同时去掉前端的nginx负载层),升级之后服务就不正常,硬生生的看着十几万连接,没有流量,各种排错,可谓是把心提到嗓子眼惊心动魄的半小时,虽然做了很好的业务机制,服务不正常用户可以直接回源,不过对于我们的流量而言肯定是个锯齿了,回顾一下排查过程。

    升级过程不说了,升完后对业务配置、健康心跳、磁盘设置、本地回源DNS简单做了检查,没发现问题。接下来就是切流量过来,前端的DNS按照域名哈希将请求分发过来,流量迅速到了100M还在上升,连接数到了几万(域名质量不好,很多动态的,所以也算正常),但过了几分钟流量骤降,一直降到了几M,观察连接数没降反升,内存几乎吃满。


wKiom1bzhJfwm1sBAAAsIR0QP0A921.png

(当前连接数)


wKioL1bzgkjyVlEsAAEHV57jF6I206.png

(进出流量及cpu、内存、tcp重传1秒刷新动态监控图,内存越跑越满,tcp重传越来越高)


    神经马上紧张起来了,先检查DNS是否正常,因为本地回源DNS如果坏掉,会出现这种攒了大量连接无法服务的情况,然而测试发现本地回源DNS服务正常,看来不是简单问题,crt打开多个窗口,开始监测:

    tailf /var/log/messages |grep kernel   没有报错,系统层面应该没什么问题。

    tailf /opt/ats/var/log/trafficserver/diags.log 没有明显报错,只是过一段时间会提示连接太多,丢弃连接,说明业务肯定是不正常了,不过定位不了是哪里的错误。

    tstop打开后查看整体的情况,发现正常刷新,但是每次刷新有些数据不能正常显示,内存缓存和硬盘缓存的容量都没有显示,为什么没有显示呢,是设置错误了么,然后再去检查磁盘设置,发现records.config内存缓存设置为内存的一半12Gstorge.config设置也没问题,继续检查。

    tsar –l 1  监测,磁盘IO都为0,所有的盘都不写盘,于是想到底是因为没有流量导致不写盘的,还是写不了盘导致没有流量的呢,先假设不写盘才没流量的吧,不写盘有两种情况一是盘坏了二是磁盘的权限不对,马上检查,发现所有的数据盘拥有者所有组均为tserver,而且检查了全为裸盘,貌似没有问题。


wKioL1bzgOvy604gAAAljucCoO4099.png

(权限查看后发现没问题)


    tsar –n  1 继续检查下历史数据,发现ats启动的瞬间是有流量的,紧接着流量骤降,而且磁盘刚开始是有IO的,越来越怀疑是硬盘问题但没有证据。后来想,做个测试,干脆不用硬盘,直接上内存,竟然有流量了,而且相对稳定,终于定位出问题了。


wKiom1bzgpTAuPmbAAAUDvZiyCk305.png

(将盘全部注释掉) 


    继续想,难道所有的硬盘都坏了么,加入一个硬盘试试吧,依旧不行,继续想下去,为什么tstop计算不出缓存呢,于是列出所有磁盘的大小,发现这个局点的每块磁盘居然有将近2T左右,图如下:


wKiom1bzgwngG7MEAABZKBOUChY464.png

(只有一个盘是186.5G,其余的盘都在2T)


    继续想可能是磁盘太大了,ats无法加入进来吧,于是更改使用磁盘的大小(300G),重启ats,问题解决,松了一口气,惊心动魄半小时。


wKioL1bzhAaizEQhAAA_rtsnjqs045.png

(磁盘大小配置更改,直接指定大小)


wKioL1bzhETygkZ3AAEwkHWwINY058.png

(更改重启后,业务恢复正常)


本文出自 “奔跑的linux” 博客,请务必保留此出处http://benpaozhe.blog.51cto.com/10239098/1754683

这篇关于十几万连接几M的流量,吓死“宝宝”了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003797

相关文章

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

poj 2135 有流量限制的最小费用最大流

题意: 农场里有n块地,其中约翰的家在1号地,二n号地有个很大的仓库。 农场有M条道路(双向),道路i连接着ai号地和bi号地,长度为ci。 约翰希望按照从家里出发,经过若干块地后到达仓库,然后再返回家中的顺序带朋友参观。 如果要求往返不能经过同一条路两次,求参观路线总长度的最小值。 解析: 如果只考虑去或者回的情况,问题只不过是无向图中两点之间的最短路问题。 但是现在要去要回

poj 3422 有流量限制的最小费用流 反用求最大 + 拆点

题意: 给一个n*n(50 * 50) 的数字迷宫,从左上点开始走,走到右下点。 每次只能往右移一格,或者往下移一格。 每个格子,第一次到达时可以获得格子对应的数字作为奖励,再次到达则没有奖励。 问走k次这个迷宫,最大能获得多少奖励。 解析: 拆点,拿样例来说明: 3 2 1 2 3 0 2 1 1 4 2 3*3的数字迷宫,走两次最大能获得多少奖励。 将每个点拆成两个

poj 2195 bfs+有流量限制的最小费用流

题意: 给一张n * m(100 * 100)的图,图中” . " 代表空地, “ M ” 代表人, “ H ” 代表家。 现在,要你安排每个人从他所在的地方移动到家里,每移动一格的消耗是1,求最小的消耗。 人可以移动到家的那一格但是不进去。 解析: 先用bfs搞出每个M与每个H的距离。 然后就是网络流的建图过程了,先抽象出源点s和汇点t。 令源点与每个人相连,容量为1,费用为

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

Java 连接Sql sever 2008

Java 连接Sql sever 2008 /Sql sever 2008 R2 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class TestJDBC

实例:如何统计当前主机的连接状态和连接数

统计当前主机的连接状态和连接数 在 Linux 中,可使用 ss 命令来查看主机的网络连接状态。以下是统计当前主机连接状态和连接主机数量的具体操作。 1. 统计当前主机的连接状态 使用 ss 命令结合 grep、cut、sort 和 uniq 命令来统计当前主机的 TCP 连接状态。 ss -nta | grep -v '^State' | cut -d " " -f 1 | sort |

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应

nginx长连接的问题

转自: http://www.360doc.com/content/12/1108/17/1073512_246644318.shtml