0 0

TOMCAT 未收到HTTP请求。0

最近在对TOMCAT进性能测试,使用的struts2框架,服务器内在4G.
 
客户端每秒钟大概向TOMCAT发送400-500个请求,其中有一个获取会场信息的请求总是丢失
 
   通过wireshark在客户端侧和服务器侧抓包,发现客户端确实发送了http请求,并且在服务器也收到了http请求。
  修改了struts2的源码StrutsPrepareAndExecuteFilter,对STRUTS2收到的消息进行检查,发现这个请求确实没有到struts2的过滤器中,因此更不会到业务处理层了。
  

   想请问大家一下,这种丢失HTTP的情况会是在哪里层面出现了问题,是网卡的问题,还是TOMCAT自身的问题。或是其他什么问题。
  或者大家有什么样的工具可以准确检测到tomcat收到的http消息类型和内容,以便定位是不是TOMCAT的问题。

问题补充:现在观察的一个现象是,始终会丢失败同一类型消息 。就是获取会场信息的消息 ,其他的很少会出现丢失的

想问一下,还知道TOMCAT是哪个类来处理HTTP请求的,想在这个类型里加一些日志 ,看看消息是不是到TOMCAT了?org.apache.tomcat.util.net.PoolTcpEndPoint.在这里加了日志 ,但是不能确定是哪个消息 类型。
2013年9月09日 09:59

5个答案 按时间排序 按投票排序

0 0

     StrutsPrepareAndExecuteFilter配置的url-pattern检查下, 看是否匹配"获取会场信息"的请求

2013年9月10日 15:47
0 0

tomcat默认设置能接收HTTP POST请求的大小最大为2M。在<Connector>标签中添 加"maxPostSize"属性,并设为0。

2013年9月10日 09:05
0 0

先说明下你的Tomcat版本,配置的连接器是BIO、NIO还是APR?你说的“通过wireshark在客户端侧和服务器侧抓包,发现客户端确实发送了http请求,并且在服务器也收到了http请求。”那么请求是否发送到了指定的web应用中还是请求就是堵塞在服务器接收连接的地方根本没转成Request。

2013年9月09日 19:20
0 0

如果认为是tomcat问题,那可以换一个服务器,或者自己用socket写个简单的服务器。

2013年9月09日 15:29
0 0

试试调整linux主机上TCP缓冲区的大小

2013年9月09日 11:23

相关推荐

    nginx+tomcat服务器配置

    基本结构 首先要明白两个基本知识点: 平时我们在地址栏里面输入http://www.domain.com 访问的是80端口,相当于...https请求发送到nginx,nginx将请求代理到tomcat nginx解决了单ip多域名的问题,多站

    tomcat9用户访问配置问题_403Access Denied 无法访问server、Manager、Host Manager

    在使用Tomcat 9 进行Web应用部署时,可能会遇到一种较为常见的问题:即配置完成后,虽然能够正常访问Web应用,但在尝试访问后台管理界面(如Server Status、Manager App、Host Manager)时却收到“403 Access Denied...

    优化提高tomcat性能.Tomcat参数调优

    - `acceptCount`: 当所有工作线程都被占用时,此参数定义了可挂起的请求的最大数量,超过这个值,客户端会收到拒绝服务错误。 2. **JVM内存设置**: - `-Xms` 和 `-Xmx`: 分别是JVM初始堆内存和最大堆内存。合理...

    tomcat的一些详细介绍

    + `redirectPort`:指定服务器正在处理 HTTP 请求时收到了一个 SSL 传输请求后重定向的端口号 + `acceptCount`:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求...

    apache-tomcat-6.0.32

    作为一个开源项目,Tomcat 收到了全球开发者的积极贡献,不断更新和完善。Tomcat 6.0.32 版本发布于较早时期,尽管现在有更高级的版本,但它仍然在许多遗留系统和教育环境中被广泛使用。 **二、Java Servlet与JSP**...

    Tomcat源码分析

    5. **Servlet容器与Web应用交互**: 当收到HTTP请求时,Tomcat会根据请求的URL找到对应的Servlet,并调用其`service()`方法来处理请求。 6. **JSP编译与执行**: 如果请求的资源是JSP文件,Tomcat会先将其转换为Java...

    tomcat日志详细说明

    - `%p`:收到此请求的本地端口 - `%q`:查询字符串(前缀为'?',如果存在) - `%r`:请求的第一行(方法和请求URI) - `%s`:响应的HTTP状态代码 - `%S`:用户会话ID - `%t`:日期和时间,采用通用日志格式 ...

    tomcat运行状态监控(可自动重启windows脚本).zip

    如果检测到Tomcat服务未响应或挂起,脚本会触发重启操作,确保服务的连续性。 "Curl.exe"是另一个关键组件,它是一个用于传输数据的命令行工具。在这个场景中,"curl.exe"可能被用来向Tomcat的特定URL发送请求,以...

    Android系统单个应用的自动升级更新(通过http连接tomcat7)

    本教程将详细介绍如何构建一个能够通过HTTP连接到Tomcat7服务器,下载并安装更新的应用程序。 一、准备工作 在开始之前,确保你有以下环境: 1. Android Studio:这是Android开发的官方集成开发环境。 2. Tomcat7:...

    JSP中常见的Tomcat报错错误解析

    - **100 继续**:服务器已收到请求头,并且客户端应继续发送请求主体。 - **101 切换协议**:服务器将遵照客户端的请求切换协议。例如,从HTTP升级到HTTPS。 ### 2xx - 成功 表示请求被成功接收、理解并接受。 - ...

    Nginx + Tomcat 负载均衡配置详解

    这样,`tomcat1.example.com`将收到两倍于其他两个服务器的请求。 另一种策略是基于后端服务器的当前连接数,选择连接数最少的服务器来处理新请求。配置如下: ```nginx upstream backend { least_conn; server ...

    apache-tomcat-8.0.36 稳定版

    在Tomcat中,Servlet被加载到内存中,当收到请求时,Tomcat会调用Servlet的service()方法来处理请求并返回响应。 JavaServer Pages (JSP) 是另一种Java技术,用于创建动态网页。JSP页面包含HTML代码和嵌入其中的...

    Apache Tomcat8优化说明

    HTTP 连接器是 Tomcat 8 中的核心组件之一,负责监听 TCP 端口并处理来自客户端的 HTTP 请求。通过合理的配置,可以显著提升 Tomcat 服务器的性能和稳定性。 #### 三、连接器配置详解 ##### 1. 公共属性 所有连接...

    tomcat 架构解析

    当收到对JSP的请求时,JSP引擎会处理这个请求,生成Servlet的源代码,编译为字节码,然后执行。 ### 2. Tomcat的启动流程 Tomcat的启动涉及多个步骤,包括读取配置文件、初始化服务、加载Web应用等。这些过程通过`...

    Apache_HTTP_Server_与_Tomcat_的三种连接方式介绍.doc

    当 Apache 收到请求时,它会根据配置判断是否应该转发给 Tomcat 处理,如果是,则通过 AJP 协议将请求发送给 Tomcat,Tomcat 处理完毕后再通过 AJP 返回结果给 Apache,最后由 Apache 将结果发送给客户端。...

    Tomcat基本配置.pdf

    - `redirectPort`: 当收到SSL传输请求时的重定向端口。 - `acceptCount`: 请求处理队列的最大长度。 - `connectionTimeout`: 连接超时时间(毫秒)。 - ****: - `defaultHost`: 缺省处理请求的主机名。 - ****...

    tomcat GZIP源码

    7. **错误处理**:当客户端不支持GZIP或者在解压缩过程中出现错误时,过滤器应能正确处理并返回原始未压缩的内容。 通过深入理解这些知识点,并结合Tomcat的GZIP源码,开发者可以定制适合自己项目的GZIP压缩策略,...

    Tomcat报错机制

    - **501 未实现**:服务器不支持当前请求所需要的某个功能。 - **502 坏网关**:作为网关或代理工作的服务器收到了无效的响应。 - **503 服务不可用**:服务器目前无法使用(由于超载或停机维护)。 - **504 网关...

    tomcat server.xml配置详解

    - **redirectPort**:当收到HTTPS请求时,重定向到的端口号。 - **acceptCount**:当所有可用线程都被使用时,可以放入等待队列的请求数量。 - **connectionTimeout**:指定超时时间(毫秒),在此时间内未完成的...

    Tomcat线程池实现简介

    这些线程在没有请求时处于等待状态,当收到请求时,线程池会分配一个空闲线程来处理请求。线程池的核心是`ThreadPool`类,它维护了一个线程数组,用于存放空闲线程。 请求处理流程如下: 1. 服务启动时,创建一个...

Global site tag (gtag.js) - Google Analytics