# 判断是否网络问题步骤

# 1、服务器本机测试对比

如果服务器是windows系统或带图形化界面,可以直接到服务器上,打开浏览器,通过 http(s)://127.0.0.1/seeyon/main.do 地址访问测试功能,是否也存在客户端一样的慢现象

# 2、同网段服务器测试对比

建议找同一个交换机下的服务器器,或者找笔记本接一根网线到交换机上。

如果服务器没有图形化界面,无法直接在浏览器访问 http(s)://127.0.0.1/seeyon/main.do,那么可以找一个与服务器相同网段,且带有图形化界面的机器来访问测试

如果确实没有同网段机器,尽量寻找一个同样内网不经过任何防火墙的机器测试,尽量减少跨网段、防火墙的影响

测试结果如果OA不慢,那大概率还是网络因素影响

# 3、服务器本机命令行测试对比

通过curl命令模拟浏览器请求,访问 http(s)://127.0.0.1/seeyon/main.do 测试是否缓慢

命令参考:curl -XGET -I -k -H "Cookie:xxxxxx" http(s)://127.0.0.1/seeyon/main.do?xxx1=xxx1&xxx2=xxx2

如果模拟测试结果耗时很短,基本可以判断是网络问题影响

# 4、分析capability日志对比

根据客户端复现时使用的用户账号,客户端IP,以及抓取的慢请求地址接口,检查对应后端OA节点的capability.log日志。

通过对比时间、登录名、IP地址、以及接口方法,检查该条请求记录在后端OA的耗时与客户端是否基本一致。

如果日志中的请求耗时很短,客户端请求很慢,那可以明确是网络问题;如果日志中后端耗时也很长,那就是OA慢。

# 5、Nginx开启access日志对比

请参考Nginx文档中开启access日志 (opens new window)的方法,对比同一请求中的 $request_time 和 $upstream_response_time 两个数据是否差异很大。

# 6、服务器端抓包分析对比

提示:使用抓包工具分析时,建议针对http请求抓取,https请求涉及加解密过程,相对繁琐

使用前,请先安装好相应工具

  • Linux: 使用tcpdump工具
# 参考命令
tcpdump -i 网卡名<eth0> tcp port 端口号<80> -w 文件名<oa.pcap>

从服务器取出生成的抓包文件oa.pcap,拷贝至windows系统上,通过wireshark工具打开进行分析

1737092756597.png

1737092965116.png

  • Windows: 使用wireshark工具

打开wireshark,选择对应的网卡,工具将自行开始抓包

1737092544042.png

抓包文件通过wireshark打开后过滤出F12或日志记录的满请求接口,例如: http and http.request.uri contains "/seeyon/casloign/sso",计算返回响应与收到请求的时间差值。

对比服务器上抓的包与F12的耗时时间是否一致来判断是否网络问题。

# F12抓慢请求分析

  • 当抓取结果发现,大量慢请求都是css、js、图片、附件等资源时,很大概率是网络引起

对于这些资源请求,基本不涉及代码逻辑,可能是安全设备或者网络带宽等影响,建议联系客户网络管理员一起分析,如下图

1737091066964.png

编撰人:wangyxyf