`
blueswind8306
  • 浏览: 127263 次
  • 来自: ...
社区版块
存档分类
最新评论

一个网络通讯问题的解决

阅读更多
某个OpenAPI应用在大并发量情况下,其中某个jsp总会堵在一个for循环的JspWriter.write处,通过jstack观察如下:

在测试环境下做同样用户日志的压测,奇怪的是并不能重现此问题,之后通过tcpflow定位到此接口调用方(调用方的User-Agent是一个公司内的客户端标识),但依然没有想到什么好的定位方法。
后来有一天,突然想到可以通过伴随压力测试先确认一下是否是网络通讯层的问题,伴随压力测试是用线上机器作为压测服务端,而压测客户端是和线上机器在同一内网的另一台机器。在增压后如果出问题的线程栈数量和增压数量没有成正比增加则可以证明是网络层的问题,压测发现果然如此。
接下来上tcpdump来抓包,抓了几个包发现如下疑点:
  • 每次调用返回的response很大,通常需要很多次TCP分包,导致整体响应经常超秒
  • 经常出现TCP接收端(客户端)ack动作很慢,导致发送端(服务端)发送缓慢
  • 如果在网页中调用此接口则不会出现数据量大的问题,整体响应在几百毫秒内完成
通过上述分析,基本可以确认是客户端的问题了,回过头来仔细看了看客户端的HTTP头,发现居然是没有支持gzip压缩的!而之所以在网页中调用会很快,是因为浏览器默认会支持gzip压缩,所以只要通知客户端的同学在HTTP头中增加:“Accept-Encoding: gzip”,并且客户端需要支持gzip的解压缩,问题就会解决了。
  • 大小: 56.9 KB
0
0
分享到:
评论

相关推荐

    TCP网络通讯传送文件

    总的来说,TCP网络通讯在文件传输中的作用是建立可靠的、高效的数据通道,确保文件能够准确无误地从一个地方传输到另一个地方。理解TCP的工作原理和特性,对于优化网络应用性能、解决传输问题具有重要意义。

    MEC网络通讯解决方案及应用.pptx

    **MEC网络通讯解决方案及应用概述** MEC(Mobile Edge Computing),即移动边缘计算,是一种在网络边缘提供计算和存储能力的技术,旨在降低延迟、提升数据处理效率和改善用户体验。MEC通过将计算资源下沉到距离用户...

    网络通讯协议关系图高清

    而"网络通讯协议关系图[中文珍藏版]"可能包含了更详尽的协议介绍和相关知识点,比如其他非TCP/IP协议,如SSL/TLS(安全套接层/传输层安全)用于加密通信,或者NAT(网络地址转换)用于解决IP地址短缺问题。...

    DP网络通讯问题.doc

    本文针对一个具体的DP网络通讯问题进行分析与探讨。 根据描述,有两个主站通过315-2DP相连,并且其中一个主站下挂了一个200M的从站。该系统已经稳定运行了半年多,但在近期出现了从站通讯不稳定的情况——通讯状态...

    一个网络通讯的socket库

    标题中的“一个网络通讯的socket库”指的是一个用于网络通信的软件开发库,它提供了封装了Socket接口的函数和类,使得程序员在进行网络编程时能够更方便地处理TCP(传输控制协议)和UDP(用户数据报协议)的连接与...

    TCP网络通讯调试工具

    在IT行业中,TCP(Transmission Control Protocol)是一种广泛使用的网络通信协议,它为应用...了解并熟练运用上述TCP网络通讯调试工具和原理,可以帮助开发者有效地定位和解决网络通信问题,提高应用的稳定性和性能。

    网络通讯支持库1.0下载

    网络通讯支持库1.0是开发者们用于构建网络应用程序的重要工具,它提供了丰富的功能和接口,使得程序员可以更高效地处理网络通信问题。这个库主要针对C++和Java两种编程语言设计,旨在简化网络编程的复杂性,提高代码...

    GRS网络通讯实际操作指南.ppt

    一、GRS网络通讯系统硬件组件 * MCU结构显示屏主控模块 * 电源模块 * 充电指示灯 * 测量模块 * 接线端子 * 电源避雷备用保险丝 * GPRS天线 * GPRS终端 二、GRS网络通讯系统安装 * 安装工具:MCU安装支架、六角...

    网络通讯调试器

    作为一个高效的软件,它能够帮助开发者、网络管理员以及IT专业人员深入洞察网络通讯的每一个细节,从而发现并解决潜在问题。 首先,我们来了解一下什么是网络通讯调试。网络通讯调试是针对网络数据传输过程进行的...

    数据库网络通讯,有关数据库的操作、 网络通信以及多线程的使用

    数据库网络通讯是IT领域中的重要组成部分,涉及到数据库的管理和数据的传输,以及多线程技术在并发处理中的应用。在现代软件系统中,数据库作为数据存储的核心,与网络通信和多线程技术相结合,能够实现高效、可靠的...

    回城卷轴网络通讯架构源代码

    "回城卷轴网络通讯架构源代码"是一个创新的网络应用程序开发框架,旨在提供一个高效、灵活且可扩展的解决方案,适用于客户端和服务器端的通信。这个架构的设计灵感可能来源于游戏中的“回城卷轴”概念,寓意快速、...

    网络通讯助手

    "网络通讯助手"是一款强大的工具,旨在为服务器和客户端提供高效的网络调试服务,它支持TCP/IP和UDP这两种广泛使用的网络传输协议。下面我们将深入探讨TCP/IP和UDP的基本概念、工作原理以及它们在网络通讯中的应用。...

    C# socket网络通讯示例程序

    本示例程序“C# socket网络通讯示例程序”就是针对这一主题的一个学习资源,它包含了服务端和服务客户端的示例代码。 1. **Socket基础知识**: - Socket是网络通信中的一个抽象概念,它是基于TCP/IP协议族进行通信...

    网络实时通讯的一种解决方案

    实时通讯的需求越来越重要,如何构建一个既实时又可靠的网络通讯系统成为研究的重点。 - **方案核心**:本文介绍了一种利用以太网进行通讯的解决方案,该方案结合了嵌入式实时操作系统(RTOS)的强大实时性和稳定性...

    易语言网络通讯系列教程

    通过对这些项目的详细解析,学员不仅可以学到具体的编程技巧,还能理解网络通讯在实际项目中的应用场景和解决方案。 #### 4. 性能优化与安全防护 最后,教程还会涉及网络通讯中的性能优化策略和安全防护措施,比如...

    网吧网络通讯故障报警器

    【标题】"网吧网络通讯故障报警器"是一个专为网吧设计的系统监控工具,它能够实时监测网络通讯状况,一旦发生异常,立即触发报警机制,帮助管理员快速定位并解决网络问题,确保网吧服务的正常运行。 【描述】该工具...

    网络通讯调试软件

    网络通讯调试软件是一种至关重要的工具,它主要用于检测、分析和优化网络通信过程。在IT行业中,这类软件扮演着诊断和解决网络问题的关键角色。通过深入理解网络通讯的基础原理和技术,我们可以更好地利用这些软件来...

    车间数控机床网络通讯

    为了解决这一问题,实现数控机床之间的高效协同工作,建立一个可靠的网络通讯系统变得尤为重要。本文将详细介绍车间数控机床网络通讯的关键技术点。 #### 二、车间数控机床网络通讯的重要性 1. **提高生产效率**:...

    IPOP网络通讯工具

    总之,IPOP网络通讯工具是一个强大的网络诊断和管理工具,通过其网络重定向、报文捕获、ping包测试和telnet服务等功能,用户可以深入理解网络状态,有效解决网络问题,提高网络管理和维护的效率。在日常工作中,掌握...

    网络通讯协议与应用

    《网络通讯协议与应用》这一主题涵盖了互联网通信的基础和核心要素。网络通讯协议是网络设备之间进行信息交换的规则和标准,而应用则是这些规则在实际场景中的具体实践。以下将详细阐述网络通讯协议的各个层面及其...

Global site tag (gtag.js) - Google Analytics