`

转:Tomcat内存,并发数配置

阅读更多

http://blog.csdn.net/huiwenjie168/article/details/7019303

安装目录下

eg:

D:\Program Files\Apache Software Foundation\Tomcat 5.5\bin\tomcat5w.exe


java 选项卡

Initial memory pool: 初始话的Java虚拟机内存大小,
Maxinum memory pool:  Java虚拟机可使用的最大内存,
Thread stack size: 程序堆栈大小。

如果你是512M内存的话,Initial memory pool最好不要超过256M,
Maxinum memory pool不要超过512M,
Thread stack size不要动,使用默认的就好了。

 

 

用eclipse  配置tomcat内存问题 

 

在tomcat下我不知道
不过如果你用IED是eclipse或者myeclipse的话,那么:
window-》preferences-》server-》tomcat5.x-》jdk
在optional java vm arguments中填入:
-Xms128m -Xmx512m -XX:MaxPermSize=128m 就可以了
值你自己改就行,一般的128就可以了。

 

 


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是这个作用。

 

分享到:
评论

相关推荐

    RHEL7.0下的TOMCAT安装、配置及优化1.02.docx

    RHEL7.0下的TOMCAT安装、配置及优化 一、安装前准备 3 二、JDK安装 2.1、建立tomcat用户 2.2、将JDK安装文件上传到服务器 2.3、安装JDK 2.4、配置JDK环境变量 ...4.2、修改tomcat默认的maxThread(最大并发数)

    nginx+tomcat在windows下做负载均衡

    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果有超过500的并发数便会出现Tomcat不能...Nginx的并发数可达到50000,所以理论上可以和Tomcat以1:100的比例来配置,这样便可以很好的解决网站并发瓶颈问题。

    TOMCAT 配置及性能优化

    包括Tomcat内存参数的管理设置、JDK、虚拟目录、连接数相关设置

    Tomcat6_优化_方案

    可以粗略认为,同一时间点(如1毫秒内)最大同时并发数 = acceptCount + maxThreads, 9. 但实际上每秒处理的请求数量(每秒并发)和机器配置有关. 9.1 minSpareThreads 和 maxSpareThreads 是最小最大空闲线程,设置...

    Nginx+Tomcat高性能负载均衡集群搭建教程

    其占有内存少,并发能力强,在同类型的网页服务器中表现较好。Nginx可以在大多数Unix Linux OS上编译运行,并有Windows移植版。一般情况下,对于新建站点,建议使用最新稳定版作为生产版本。 单个Tomcat最大支持在线...

    网站建设硬件设计方案.docx

    所以,并发数在50000的网站需求的网络带宽为: (200k*8*50000)/0.7=114286Mb 3.2架构和硬件配置选型 网站建设硬件设计方案全文共7页,当前为第4页。3.2.1硬件配置参考 网站建设硬件设计方案全文共7页,当前为第4...

    Java虚拟机

    全书共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。第一部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、...

    LyBBS『凌云论坛』系统

    对数据库我们采用了数据库连接池,用户可以在配置文件中配置不同的连接池或者不使用连接池,对表操作也采用了预处理、批处理、事务处理等多种方式,用户可以在配置文件中配置数据库连接参数,包括连接数,超过连接数...

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    / 76 4.1 概述 / 76 4.2 JDK的命令行工具 / 76 4.2.1 jps:虚拟机进程状况工具 / 79 4.2.2 jstat:虚拟机统计信息监视工具 / 80 4.2.3 jinfo:Java配置信息工具 / 82 4.2.4 jmap:Java内存映像工具 / 82 4.2.5...

    java面试题

    52.6. 配置tomcat 6.0.10连接池 26 52.7. Hibernate实现数据库的连接不同方式: 28 52.8. 有几种开源的数据库连接池: 29 53. 描述一下JVM加载class文件的原理机制? 30 54. socket编程 30 54.1. 什么是TCP/IP、UDP?...

    javapms门户网站源码

    点击“功能组件”左侧常用功能里的“论坛版块管理”后,右侧会列出论坛板块信息列表,如版块名称、排列顺序,主题数量、发帖数量、今日主题数、今日发帖数等等。双击某条版块信息所在行,会弹出版块详细信息查看窗口...

    最全面的门户网站架构设计方案.doc

    2) WEB应用服务器性能 a) CPU b) 存储,I/O访问 c) 内存 d) 并发TCP/IP连接数 3) 数据库服务器性能 a) 数据库参数配置 b) 服务器性能(CPU、内存、存储) c) 数据结构的合理性 4) 不同WEB应用的处理方式而对不同的...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    为了增加系统的吞吐量,提高并发处理客户请求数量,系统采用了IBM服务器作为主机。在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL[6]。...

    【7A文】服务器性能计算.docx

    GGGGG系统的接口服务器使用Tomcat搭建,根据经验单服务器上的Tomcat的整体理论处理能力1000-20XX个用户并发连接。考虑到系统操作系统CPU使用率为10%,因此系统整体负载不能高于70%。 【7A文】服务器性能计算全文共6...

    平台设计方案.doc

    CPU 和LAN 负荷率 CPU 平均负荷率 系统稳定状态:应用服务器系统繁忙状态:应用服务器内存 系统稳定状态:应用服务器系统繁忙状态:应用服务器在每5 分钟测试期间,系统LAN 负荷不大于30% 并发处理 并发处理用户 ...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【高并发】Java高并发解决方案 148 HTML静态化 149 图片服务器分离 149 数据库集群和库表散列 150 缓存 151 镜像 151 负载均衡 152 【网络】说说你对Http协议和Socket协议的理解 153 http协议 153 Tcp协议 154 ...

    服务器性能测试报告.docx

    1.4 参考资料 暂无 2、测试环境 2.1 硬件环境 系统硬件与网络环境如下: 应用服务器硬件配置: Server Name CPU MEM 16GB memory HardDisk 2.2 软件环境 服务器 1台 操作系统 Windows Server 2003 数据库 ...

    JAVA上百实例源码以及开源项目源代码

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    JAVA上百实例源码以及开源项目

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

Global site tag (gtag.js) - Google Analytics