客户部署的线上AEMS系统发生一个诡异的问题.
先说下环境, 客户的系统部署于客户内网环境, 在外网网关做了端口映射, 客户使用的是贵州电信的网络; 公司使用的是浙江联通的网络.
问题的现象: 客户处可以正常访问系统加载数据, 但在公司通过外网访问, 可以访问系统, 其他页面都可以正常加载数据, 但企业信息配置的因子配置界面, 却无法加载因子数据, 导致在公司这边没法正常查看以及配置企业因子数据.
该页面有发出三个Ajax请求到AEMS系统, 但只有第一个GET请求正常响应返回 200 OK, 后两个AJAX请求很诡异的没被响应, 通过Chrome调试, 发现其请求的type是"Pending", Status Text 是 "failed", 诡异就诡异在, 后两个AJAX请求,服务器端应用系统根本就没有收到(通过服务器端AEMS应用在Controller层的打印日志, 以及通过远程Debug都可以证明这一点).
一开始怀疑是AJAX发送GET请求的URL过长, 察看了下字符数, 有175个字符, 不放心, 就将请求类型改为POST测试, 可是问题依旧, 看来不是这个原因.
再仔细想想, 该问题, 同样的代码同样的逻辑, 在公司开发环境都是正常的, 在客户现场的环境, 也是正常的. 但惟独通过公司的网络访问客户现场的系统, 会出现Ajax请求失败, 数据无法加载. 那会不会是公司与客户环境之间的网络有问题呢?
网上查下资料, 在linux下使用tcpdump可以抓到http协议包,可以使用工具wireshark分析查看tcpdump抓到的http包。(wireshark软件在 http://sourceforge.net/projects/wireshark/ 下载)。
①tcpdump 抓取HTTP包
# tcpdump -s 0 tcp port 80 -w /root/tcpdump.cap
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
^C576 packets captured
576 packets received by filter
0 packets dropped by kernel
② 使用wireshark分析
使用wireshark的File--->Open菜单打开该文件,即可直观地看到通信包细节。
其中 124.160.225.218 是浙江联通的网关. 这个抓包结果显示是浙江联通网关主动对AEMS应用服务器发送TCP RST/ACK包关闭TCP连接所致. 好吧, 遇到GFW了.
网上查阅相关资料, 找到这么一篇: 几种TCP连接中出现RST的情况
http://www.360doc.com/content/13/0702/10/1073512_297069771.shtml
分析上面的TCPDUMP抓包结果, 问题的原因估计就是单次的TCP连接请求达到100毫秒, 联通网关认为TCP连接已经超时, 主动发送TCP RST/ACK 指令关闭了到AEMS服务器的TCP连接, 导致后续响应无法进行.
那解决的思路, 无非就是尝试下缩短单次的TCP请求时间. 在AEMS应用这边, 可以考虑网页压缩(图片/JS等), 分多次请求, 减少单次请求的数据量等.
====================================================
附几篇对解决该问题有帮助的大神的链接:
TCP连接:SYN ACK RST UTG PSH FIN
http://blog.163.com/sgoingfuture1211@126/blog/static/167746049201071633524363/
从TCP协议的原理来谈谈rst复位攻击
http://russelltao.iteye.com/blog/1405349
几种TCP连接中出现RST的情况
http://www.360doc.com/content/13/0702/10/1073512_297069771.shtml
相关推荐
"统信UOS系统常见使用及问题处理" UOS 系统是一款 Linux 操作系统,下面是 UOS 系统常见使用及问题处理中的一些知识点: 一、UOS 系统安装注意事项 * 在安装 UOS 系统之前,需要注意安装适配的软件版本目录。 * ...
国内外研究现状分析了当前在分布式文件系统领域的研究进展,特别是针对元数据访问性能的优化策略。 论文的主要工作集中在两个方面:客户端优化和元数据服务器端优化。客户端优化主要依赖于元数据缓存,通过对目录项...
2. 本地缓存:为了提高应用响应速度和减少网络请求,通常会将获取到的数据存储在本地,如SQLite数据库、SharedPreferences或者文件系统。在新闻类应用中,可将新闻标题、内容等信息缓存在SQLite中,当网络不畅或无...
综上所述,"网络游戏-对网络视频加载进行视频加速的方法和系统"涵盖了网络传输、流媒体技术、缓存策略、数据压缩和分布式系统等多个关键领域的知识点,这些都是构建高效、流畅的在线视频体验所必需的技术支撑。...
它允许用户将这些镜像文件直接挂载到系统中,如同实际的物理硬盘一样进行访问和操作,极大地简化了系统维护和数据迁移的过程。 1. **镜像创建与备份**:Ghost32能够对硬盘或分区进行全盘或选择性备份,生成.GHO格式...
在数据中心的设计方案中,企业级ETL平台是数据集成的核心,负责抽取、转换和加载数据,确保数据从源系统流到目标数据仓库的准确性和完整性。数据存储中心是数据中心存储能力的体现,确保数据能够得到安全、可靠、...
- **待加载数据**:通过SQL\*Loader等工具批量导入数据。 - **数据备份**:定期进行数据备份,确保数据安全。 - **业务数据**:保护核心业务数据不受损失。 8. **分布式数据库架构设计中的扩展性**: - **容量*...
此外,医院会部署办公自动化(OA)系统,使其在内网和外网都可用,并通过虚拟桌面技术,使得外网设备能够访问内网业务系统。 二、医院临床数据中心建设 临床数据中心是医院信息集成的核心,它不仅存储和管理大量的...
4. **用户反馈**:在加载过程中显示加载指示器,让用户知道系统正在处理请求。 5. **可访问性**:遵循Web内容可访问性指南(WCAG),确保残障人士也能方便地使用时间控件。 总的来说,动态加载时间控件是提高网页...
数据存储则需要解决数据规模大、数据类型多、访问速度快的问题,常使用数据库管理系统和大数据存储技术。 4. 数据处理应用:数据处理的最终目的是实现智能化应用。在这个环节,分析得到的结果会被用来做决策支持、...
在IT行业中,数据的管理和迁移是一项关键任务,尤其是在大数据时代,如何高效地将本地数据发布到远程数据库成为了许多企业和开发者关注的问题。标题“本地采集出来的数据发布到远程的数据库”和描述提到了一种方法,...
在日常使用Windows系统的过程中,有时我们会遇到系统联网后右下角的网络图标持续闪烁、除资源管理器外其他应用程序均无法正常启动的问题。这种情况不仅影响了用户的正常使用体验,还可能导致重要工作无法按时完成。...
3. **数据交互**:实现堆与堆外缓存之间的数据迁移,确保在需要时能够快速将数据从堆外加载到堆内,或反之。这通常需要自定义的序列化和反序列化机制。 4. **性能监控与优化**:持续监控堆外缓存的使用情况,如内存...
"秀影短片采集系统内置数据"是一款专用于收集、整理和管理短视频内容的软件工具。这个系统的功能可能包括从各个网络平台抓取、下载、分类以及存储短片,为用户提供一个集中化的短片资源库。它可能包含了各种用于处理...
- **主引导记录区(MBR):** 存储着引导加载程序以及分区表信息,用于指示操作系统如何访问硬盘的不同分区。 - **DOS引导记录区(DBR):** 包含了操作系统如何访问该分区的信息,包括文件系统的类型。 - **文件...
分布式文件系统在处理大量小文件访问模式时,经常会遇到性能瓶颈问题,这主要是由于元数据请求过于频繁,导致系统性能下降。元数据是文件系统中关于文件和目录的重要信息,如文件名、权限、大小、位置等。在处理海量...
- **采集子系统**:负责从业务系统获取数据,进行解析、转换,并加载到存储子系统。 - **数据存储子系统**:采用分布式存储,如HDFS和HBase,提供高容量、高可用的数据存储。 - **索引子系统**:利用内存网格实现...
例如,当主机系统无法正常启动时,用户可以通过V3迷你系统访问硬盘上的文件,甚至进行数据备份,避免重要数据的丢失。 此外,V3迷你系统还支持各种常见软件的运行,包括浏览器、文本编辑器、压缩工具等,满足临时...
用户需连接至互联网,然后通过IE浏览器访问系统。系统提供了两种访问方式,针对内网用户,可以通过输入http://10.41.10.27/CIIMSS来访问,而对于外网用户,则需输入http://202.110.114.39/CIIMSS。值得注意的是,URL...