
网络
文章平均质量分 92
damanchen
这个作者很懒,什么都没留下…
展开
-
Linux 网络包收发流程及缓冲区问题
网络包的接收流程当一个网络帧到达网卡后,网卡会通过 DMA 方式,把这个网络包放到收包队列中;然后通过硬中断,告诉中断处理程序已经收到了网络包。接着,网卡中断处理程序会为网络帧分配内核数据结构(sk_buff),并将其拷贝到 sk_buff 缓冲区中;然后再通过软中断,通知内核收到了新的网络帧。接下来,内核协议栈从缓冲区中取出网络帧,并通过网络协议栈,从下到上逐层处理这个网络帧:在链路层检查报文的合法性,找出上层协议的类型(比如 IPv4 还是 IPv6),再去掉帧头、帧尾,然后交给网络层。网原创 2021-07-11 11:49:56 · 1657 阅读 · 1 评论 -
Redis集群丢数据问题——机器宕机没有自动切库,手动takeover后,老主库重启又抢回master
文章目录背景事故描述问题分析日志记录关键日志疑惑与猜测原因排查查看资料集群间通信手动故障转移配置纪元的主要作用:同版本集群测试准备测试流程日志分析根据日志查看源码逻辑has old slots configurationis back online网络问题确认异常信息信息确认集群间通信问题排查通信端口连接情况抓包确认之前疑惑的解答总结后续操作急救措施反思改进措施背景机器发生了宕机,查看后发现有个节点没有自动切库成功,为了保证集群对外能正常服务,所以决定手动强制切库,保证集群对外的可用性。事故描述先使原创 2021-05-17 18:28:59 · 1572 阅读 · 0 评论 -
结合 tcprstat 和tcpdump、wireshark 工具定位Redis响应慢的原因
文章目录一、背景说明二、工具说明2.1 tcprstst2.2 tcpdump2.3 Wireshark三、使用步骤3.1 使用 tcpdump 进行抓包3.2 使用 tcprstat 进行时延探测记录3.3 使用 Wireshark 对包进行分析四、总结一、背景说明之前使用过 tcpdump / wireshark,线上也有时延探测工具 tcprstat,但是一直感觉差点意思,每次抓包或者看响应时间,都对不上号,不能较好的定位问题。知道机缘巧合发现了这个改良后的 tcprstat,如获至宝,经验证后原创 2021-04-30 19:06:19 · 1114 阅读 · 2 评论