网络问题排查问题记录

一、问题描述

1.1 问题产生记录

        准生产环境报出如下错误:连接某个服务器的时候出现连接超时现象;服务间调用是通过feign+nacos实现的;服务部署是用k8s实现的;初步判断是A->B调用是服务端出了初五

二、问题定位

        2.1 问题排查记录

        登录机器查看对应ip的服务,

        获取返回的容器id: docker ps | grep {服务名称};获取返回的容器id

        获取服务进程: docker inspect {容器id} | grep -i pid; 获取容器运行的进程id

        查看进程对应的服务端网络状况: nsenter -t {pid} -n ss -lnt 查看网络情况;返回参数解释:

                Recv-Q表示当前accept queue中的连接数量。

                Send-Q表示accept queue的最大长度(Send-Q的值由net.core.somaxconn,net.ipv4.tcp_max_syn_backlog和应用参数取最小值)。

        常见有Tomcat设置acceptCount,nginx配置backlog。

排查过程中发现Recv-Q的值大于Send-Q的值,存在syn丢包的情况。

2.2 问题原因

        网络连接过程,服务端存在两种状态;listen和es

        

三、问题解决

        3.1 linux内核参数调整

        3.2 k8s参数调整

        3.3 应用服务端参数调整

上一篇:C#如何从中级进阶到高级开发


下一篇:npm install Error: 403 Forbidden - GET https://registry.npm.