网络超时的定位

更新时间:2024.11.13

一、手工定位

1、 确认商户服务器出口IP 

Linux: ifconfig直接输出已配置外网IP,如无配置外网则需要使用第二种方式《自动化工具定位》方式获取

Windows: 可以通过浏览器访问http://ip.qq.com页面获取

 

2、通过ping确认延时和丢包情况

Linux: ping api.mch.weixin.qq.com -c 100

Windows: ping api.mch.weixin.qq.com -n 100

 

3、通过trace确认对应的路由节点

Linux: traceroute api.mch.weixin.qq.com

Windows: tracert api.mch.weixin.qq.com

 

4、通过mtr确认对应的路由节点丢包情况

mtr -4 -i 1 api.mch.weixin.qq.com

 

5、curl测试

curl -o /dev/null -4 -v -s -w %{time_namelookup}:%{time_connect}:%{time_starttransfer}:%{time_total}"\n" 'https://api.mch.weixin.qq.com/orderquery'

**这里的输出需要确认有一列的时间超过3s才有参考意义

 

二、自动化工具定位

 

具体工具相关的获取和使用请参考文档《微信支付网络监控工具指引》

 

1、运行工具命令:

./wxpaymonitor -t

 

2、工具运行输出结果:

 

3、自动化工具定位说明:

◆ 工具最优接入IP建议从ping测延时的结果会按照延时最低到最高的排序,其中最优IP需要与RemoteIp能匹配。如果IP的耗时为9999.999ms则表示该IP不通,同时会有i/o timeout的条目提示。如果商户测试的RemoteIp与该条目录一致,则可以确认存在网络异常。

◆ LocalDns相关的配置建议从工具测试的结果,UserIp与LocalDns以及RemoteIp需要属于同运营商,具体IP运营商归属商户侧可以通过http://ip.qq.com查询(腾讯内部可通过http://gslb.oa.com/oss/ip_library查询IP归属)

◆ 接口耗时说明

Duration:表示此次请求接口总耗时

Lookup duration:表示此次请求通过DNS解析域名耗时,如果此耗时比较高,建议确认DNS解析是否正常

Connection duration:表示此次请求连接建立耗时,如果此耗时超过1s,表示网络层面TCP连接建立时间长

Request duration: 表示此次请求在业务层面处理的耗时,如果此耗时超过3s则需要重点排查业务处理日志,建议商户提供具体的单号确认问题。

总体来看请求耗时>连接耗时>DNS解析耗时,且总体耗时不超过3s属正常范围。

 

附一:微信支付回调通知出口IP列表

商户侧对商户回调通知功能开通白名单网段:
101.226.103.0/25、140.207.54.0/25、103.7.30.0/25、183.3.234.0/25、58.251.80.0/25
说明:

上海电信出口网段101.226.103.0/25
上海联通出口网段140.207.54.0/25
深圳电信出口网段183.3.234.0/25
深圳联通出口网段58.251.80.0/25
香港出口网段103.7.30.0/25
注意:深圳的出口为新增,商户侧需要新开防火墙

 

 

更多技术问题
技术咨询
反馈
咨询
目录
置顶