`
cuker919
  • 浏览: 97751 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Tomcat最大连接数问题

 
阅读更多
Tomcat的server.xml中Context元素的以下参数应该怎么配合适

<Connector port="8080"
maxThreads="150"
minSpareThreads="25"
maxSpareThreads="75"
acceptCount="100"
/>

答曰:

maxThreads="150" 表示最多同时处理150个连接
minSpareThreads="25" 表示即使没有人使用也开这么多空线程等待
maxSpareThreads="75" 表示如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的。

acceptCount="100" 当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接。

根据你的配置建议
maxThreads="500"
minSpareThreads="100" 如果你的网站经常访问量都很大的话,缺省就开比较大
maxSpareThreads="300"
acceptCount="100"
这只是说你的服务器可以支持这么多用户,但还要看你安装了哪些东西,还有你的程序是否足够高效率。

(第二种方法)

tomcat中的几点配置说明

如何加大tomcat连接数


在tomcat配置文件server.xml中的配置中,和连接数相关的参数有:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。

其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。


web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。Unix中如何设置这些参数,请参阅Unix常用监控和管理命令

tomcat4中的配置示例:
port="8080" minProcessors="10" maxProcessors="1024"
enableLookups="false" redirectPort="8443"
acceptCount="1024" debug="0" connectionTimeout="30000" />

对于其他端口的侦听配置,以此类推。

2. tomcat中如何禁止列目录下的文件
在{tomcat_home}/conf/web.xml中,把listings参数设置成false即可,如下:

...

listings
false


---------------------------------------------------------------




linux下tomcat设置最大连接数,设置最大内存

linux下tomcat设置最大连接数,设置最大内存,使用Jconsole监控
1. 添加tomcat管理员帐户
添加管理员账户tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="admin" password="admin123" roles="admin,manager"/>
</tomcat-users>

2. TOMCAT内存
基本原理:JAVA程序启动时都会JVM 都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要 先去做垃圾回收的动作,释放被占用的一些内存。 所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms -Xmx来调整应用程序的初始内存和最大内存: 如:java -Xms64m -Xmx128m application.jar.

方法1:如果是使用的tomcat_home/bin/catalina.sh(linux)或catalina.bat(win)启动的:
修改相应文件,加上下面这句:
JAVA_OPTS='$JAVA_OPTS -server -Xmx800m -Xms512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true'--ms是最小内存,mx是最大内存。这里设置最小内存为512M,最大内存为 800M。$JAVA_OPTS是保留先前设置。 CATALINA_OPTS似乎可以与JAVA_OPTS不加区别的使用。[对于catalina.bat则是如此设置: set JAVA_OPTS=-Xms1024m -Xmx1024m]

方法2:如果使用的winnt服务启动:
在命令行键入regedit,找到 HKEY_LOCAL_MACHINE-->SOFTWARE-->Apache Software Foundation-->Procrun 2.0-->Tomcat5-->Parameters的Java,
修改Options的值,新添加属性:
-Xms64m
-Xmx128m 或者直接修改JvmMx(最大内存)和JvmMs(最小内存)。

有人建议Xms和Xmx的值取成一样比较好,说是可以加快内存回收速度。
修改完之后,可以访问http://127.0.0.1:8080/manager/status查看内存大小。

也可以编写下面测试tomcat内存大小的jsp页面:
<%
Runtime lRuntime = Runtime.getRuntime();
out.println("*** BEGIN MEMORY STATISTICS ***<br/>");
out.println("Free Memory: "+lRuntime.freeMemory()+"<br/>");
out.println("Max Memory: "+lRuntime.maxMemory()+"<br/>");
out.println("Total Memory: "+lRuntime.totalMemory()+"<br/>");
out.println("Available Processors : "+lRuntime.availableProcessors()+"<br/>");
out.println("*** END MEMORY STATISTICS ***");
%>

3. 增加tomcat连接数
在tomcat配置文件server.xml中的配置中,和连接数相关的参数有:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout: 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。 其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。 web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。
如:
<Connector port="8080"
maxThreads="150"
minSpareThreads="25"
maxSpareThreads="75"
acceptCount="100"
/>
maxThreads="150" 表示最多同时处理150个连接
minSpareThreads="25" 表示即使没有人使用也开这么多空线程等待
maxSpareThreads="75" 表示如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的。

acceptCount="100" 当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接。

4.使用Jconsole监控
在需要监控的tomcat_home/bin/catalina.sh(linux)文件中添加下面语句:JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=8089
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
设置一个新的端口号。然后在本机dos下输入Jconsole命令,弹出“JAVA 监视和管理控制台”,如果是远程监视,就输入<hostname>:<port>,这个port就上上面配置的8089,然后再输入远程主机的用户名跟口令,就可以监控啦。
传说这里面还可以加一句话"-Djava.rmi.server.hostname=192.168.1.80" 没有试过 ⊙﹏⊙b汗 先拷贝上一句话,留作记忆:

再找找远程tomcat的jmx配置,多了个参数-Djava.rmi.server.hostname=ip_or_hostname。然后我就加上了服务器的IP。然后再连接就可以了。对这样的情况有点不解,再官方又没有找任何这个参数的说明。回来后,再试用一下。在虚拟机的开一个linux,然后配上jmx参数(没有java.rmi.server.hostname的)。结果可以连接。... 公司的为什么不能连接呢?为什么加了IP就行?怀疑多网卡。然后在虚拟机上再加一个网上,然后启动 tomcat ,恩,不能连接(没有server.hostname),然后再加上java.rmi.server.hostname启动 tomcat ,结果或以连接。原来java.rmi.server.hostname是这个作用。





分享到:
评论

相关推荐

    tomcat 最大并发连接数 acceptCount

    tomcat 最大并发数 并发量 tomcat 最大并发连接数 acceptCount不能说只要大于acceptCount的连接就一定被拒绝!

    tomcat配置 连接数(优化)

    这通常涉及到调整最大连接数、线程池大小、超时时间等核心参数。在高并发场景下,优化这些配置可以避免服务器因过载而导致的服务中断。 描述中提到的“NULL 博文链接:https://xiaotao-2010.iteye.com/blog/1458944...

    JBOSS\Tomcat最大连接数配置和jvm内存配置.docx

    【JBOSSTomcat最大连接数配置和JVM内存配置】 在JBOSSTomcat服务器的性能优化中,最大连接数配置和JVM内存配置是两个至关重要的环节,它们直接影响到服务器的响应速度和稳定性,尤其对于处理大量并发请求的场景。 ...

    linux下tomcat优化设置最大连接数内存jconsole监控.docx

    ### Linux 下 Tomcat 优化设置最大连接数及内存 JConsole 监控 #### 一、Tomcat 内存优化 ##### 1.1 基本原理 在启动 Java 应用程序时,JVM(Java 虚拟机)会为应用程序分配一定的初始内存和最大内存。这些设置对...

    tomcat7安装使用及jvm连接数参数调优

    Tomcat7 安装使用及 JVM 连接数参数调优 Tomcat7 是一个流行的 Java Web 服务器,主要用于部署和管理基于 Java 的 Web 应用程序。为了确保 Tomcat7 的稳定运行和高效性能,需要对其进行合理的安装、配置和优化。...

    tomcat配置连接池方式

    这包括指定连接池的名称、类型、驱动类、最大活动连接数、最大空闲连接数、最大等待时间、验证查询等参数。例如: ```xml auth="Container" type="javax.sql.DataSource" driverClassName=...

    Tomcat6配置连接池

    - `maxActive`: 最大活动连接数。 - `maxIdle`: 最大空闲连接数。 - `maxWait`: 获取连接的最大等待时间(毫秒)。 - `validationQuery`: 验证查询语句,用于测试连接的有效性。 - `username`: 数据库用户名。 - `...

    tomcat的连接器最新版

    在Tomcat的配置文件`server.xml`中,你可以看到连接器的配置,包括端口号、协议类型、最大连接数等。通过调整这些参数,可以优化服务器性能,适应不同规模的Web应用需求。 例如,如果你在`&lt;Connector&gt;`元素中设置`...

    Tomcat连接池配置详解

    同时,根据实际的系统负载和性能需求,适当调整连接池的参数,如最大连接数和等待时间,可以优化系统的响应速度和资源利用效率。 总结来说,配置Tomcat连接池是提升Web应用性能的关键步骤,它涉及到管理界面的操作...

    Tomcat连接池配置

    - `maxActive`、`maxIdle`和`maxWait`等参数是连接池的重要配置项,它们分别代表最大活动连接数、最大空闲连接数和等待新连接的最大时间。根据实际应用负载,适当调整这些参数可以优化性能。 - 另外,还可以配置...

    Tomcat6连接池配置详解(自动重连)

    - **`maxActive`**:最大活动连接数。 - **`maxIdle`**:最大空闲连接数。 - **`maxWait`**:获取连接时的最大等待时间(毫秒)。 - **`validationQuery`**:用于验证连接有效性的查询语句。这是实现自动重连的...

    tomcat数据连接池配置

    4. **调整参数**:根据应用的负载和性能需求,可能需要对数据连接池的参数进行调整,如最大连接数、最小连接数、连接超时时间等,以达到最佳的性能平衡。 通过以上步骤,你就成功地在Tomcat中配置了一个数据连接池...

    Tomcat连接池的配置

    连接池的性能优化涉及多方面,包括合理设定最大连接数、最小连接数、超时时间,以及根据应用负载调整预编译语句的数量。此外,还可以考虑使用连接池监控工具,如JMX,监控连接池的状态,以便及时调整参数。 总结来...

    tomcat连接池配置

    `minimumIdle`和`maximumPoolSize`分别设定最小和最大连接数,`connectionTimeout`、`idleTimeout`和`maxLifetime`则关乎连接的创建、闲置和生命周期。 3. 配置web.xml 在Web应用的WEB-INF目录下,修改web.xml文件...

    Tomcat配置连接池说明

    这里配置了一个名为`jdbc/pip`的Oracle数据库连接池,其中`maxActive`参数定义了最大活动连接数,`maxIdle`参数定义了最大空闲连接数,`maxWait`参数定义了等待新连接的最大时间。 #### 2. 修改web.xml文件 web....

    关于tomcat5.0配置及连接池配置详细

    上述配置设置了驱动类、数据库URL、用户名、密码,以及连接池的最小和最大连接数、空闲连接的最大存活时间等参数。 3. **在web应用中引用数据源**: 在你的应用的`WEB-INF/web.xml`文件中,添加一个`&lt;resource-ref&gt;...

    tomcat6连接池 数据源配置

    - **`maxActive`**:最大活动连接数,默认值为 100。 - **`maxIdle`**:最大空闲连接数,默认值为 30。 - **`maxWait`**:获取连接时的最大等待时间(毫秒),超过这个时间仍无法获取连接则抛出异常,默认值为 10000...

Global site tag (gtag.js) - Google Analytics