`

Tomcat 6默认的maxThread,官方文档有错误

阅读更多

  我们前段时间遇到一个很奇怪的问题,Tomcat6使用默认的配置,在进行压力测试时,老是报错,用Jmeter模拟40个用户并发时,正常,当超过60个时,居然全部报错,打开server.xml可以看到如下配置:

 

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

 

Tomcat的官方网站的解释如下, maxThread如果没有set,默认值为200.

 

The maximum number of request processing threads to be created by this Connector , which therefore determines the maximum number of simultaneous requests that can be handled. If not specified, this attribute is set to 200. If an executor is associated with this connector, this attribute is ignored as the connector will execute tasks using the executor rather than an internal thread pool.

 

这个就产生问题了,打开Tomcat的源码发现默认值是40,而不是200,所以压力测试时

 

所以遇到同类的问题,大家一定要注意,添加以下配置:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" maxThreads="150"/>

分享到:
评论

相关推荐

    最强最小最高效的扫描器HScan

    -max &lt;maxthread,maxhost&gt; 指定最大线程数目,并发主机数目,默认为120,40; -time &lt;Timed Out&gt; 指定TCP连接超时毫秒数,默认为10000; -sleep &lt;sleeptime&gt; 指定ftp/pop/imap/telnet探测的线程开启间隔,默认为200毫秒;...

    hscan120.zip

    -max &lt;maxthread,maxhost&gt; 指定最大线程数目,并发主机数目,默认为120,40; -time &lt;Timed Out&gt; 指定TCP连接超时毫秒数,默认为10000; -sleep &lt;sleeptime&gt; 指定ftp/pop/imap/telnet探测的线程开启间隔,默认为200毫秒; ...

    小旭hscan12

    -max &lt;maxthread,maxhost&gt; 指定最大线程数目,并发主机数目,默认为120,40; -time &lt;Timed Out&gt; 指定TCP连接超时毫秒数,默认为10000; -sleep &lt;sleeptime&gt; 指定ftp/pop/imap/telnet探测的线程开启间隔,默认为200毫秒;...

    CGI扫描程序.txt很牛的

    根据提供的文件信息,我们可以推断出这是一段与CGI扫描相关的C语言代码。下面将对这段代码涉及的关键概念和技术进行详细的解释。...通过对这些关键技术点的理解,有助于深入掌握CGI扫描的基本原理和实现方法。

    一个简单的扫描器模型例子

    本文档介绍了一个基于C#语言实现的简单扫描器模型示例。此模型主要用于演示如何扫描指定范围内主机的开放端口。用户可以根据自身需求在此基础上扩展功能,比如增加扫描速度、支持多线程扫描等。 #### 二、代码解析 ...

    C#线程 在某一时间内,只有N个线程在并发执行,其余都在队列中的实现

    总结来说,这个C#程序通过Mutex和Interlocked实现了线程并发执行的控制,确保在同一时间最多有`maxThread`个线程在运行,其余线程则处于等待状态。这种方式有效地限制了并发线程数量,防止系统资源过度消耗,同时...

    Prog2_Reseau:Prog2 Java LP SIL的小型项目Vianey Benjamin-Bodet Cindy

    "MaxThread": "50", "MaxIdleTime": "120", "Port": "5555" } 参数和值: 执行: 1 =高级别实施2 =低级别实施 MaxThread: 服务器的最大线程数 MaxIdleTime: 以秒为单位,表示关闭连接之前客户端不活动的秒...

    发现服务器已开启的TCP服务

    - 函数中使用了`GetLastError`获取最近一次API调用失败的原因,并通过`cout`打印错误信息,以便于调试。 通过这个程序,用户可以快速了解服务器上哪些TCP端口正在监听连接,从而评估服务器的安全状况或优化服务...

    java 端口扫描工具 端口扫描

    public static JTextField maxThread=new JTextField("100",3); //错误提示框 public static JDialog DLGError=new JDialog(main,"错误!"); public static JLabel DLGINFO=new JLabel(""); public static ...

    利用C#设计制作端口扫描器

    - `maxThread`:设定最大并发线程数,以限制系统资源的使用。 4. `Main` 方法: - 接收命令行参数,分别作为要扫描的主机地址和端口范围。 - 使用for循环遍历指定的端口范围,为每个端口创建一个新的`Scanner`...

    计算机网络课程设计-扫描正在服务的TCP端口.docx

    // 如果连接失败,则输出错误信息 printf("Port %d is not open.\n", Port); } ``` 五、 调试过程中出现的问题及解决方法 在调试过程中,我们遇到了以下几个问题: 1. 如何加快扫描速度? 解决方法:使用多线程...

    Java代码构建一个线程池

    线程池是一种基于池化技术的设计模式,其核心思想是在程序启动时创建一定数量的线程放入池中供后续任务使用,当有新的任务到来时,线程池会分配一个空闲线程来执行该任务。这种方式可以有效减少线程创建和销毁带来的...

    计算机网络课程设计-扫描正在服务的TCP端口 (2).docx

    long MaxThread=200; long ThreadCount=0 该源代码使用C++语言,实现了一个UDP服务器,能够流畅地完成视频文件的传输,能够对多个客户端进行管理,并能够模拟多个客户端连接验证的情况。 五、 调试过程中出现的...

    ACGPro:在群内随机发送二次元图片,支持关键词检索

    发送图片为闪照AutoRecall: 0 //自动撤回时间,0为禁用MaxThread: 10 //最大线程数OriginalImages: false //原图模式DownloadUsage在群内发送acg [关键词] [数量(1-20)]关键词中可以用_来表示空格可以不加关键词和...

    多线程DOS源码

    - `maxthread`: 最大允许线程数量。 - `port`: 目标端口。 - `DestIP`: 目标IP地址。 这些全局变量是控制程序行为的关键参数。 ##### 3. 主要函数与结构体 ###### 3.1 状态提示函数 `display()` 此函数用于在...

    IP Scaner 多线程 IP 扫描器 试验 源代码.txt

    - `MaxThread`:最大同时运行线程数量。 - `MainThread`:主线程对象。 - **方法**: - **`ShowInfo(string strInfo)`**:向用户界面显示消息的方法。 - **`StartThread()`**:启动线程进行IP扫描的方法。 - *...

    dropwizard-honeybadger:Dropwizard 的插件包以支持登录到 Honeybadger

    您的 YAML 配置可以包含以下代码段来配置HoneybadgerAppender : appenders: - type: console threshold: DEBUG target: stderr - type: honeybadger threshold: INFO apiKey: xxxxx # async: true # maxThread

    C#线程池的实现---thrend

    = maxThread) { // 继续执行 muxConsole.ReleaseMutex(); } ``` 当线程完成其任务时,需要调用`Interlocked.Decrement(ref poolFlag)`来减少`poolFlag`的值。 ```csharp Interlocked.Decrement(ref poolFlag); `...

Global site tag (gtag.js) - Google Analytics