性能测试之Tomcat优化

发表于:2014-4-22 11:08

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:爱吃牛的熊    来源:51Testing软件测试网采编

分享:
  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时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接。
  另外:
  在tomcat配置文件server.xml中的配置中,和连接数相关的参数有:
  minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
  maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
  acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
  enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
  connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
  其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。
  2.Tomcat内存
  基本原理:JAVA程序启动时都会JVM 都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要 先去做垃圾回收的动作,释放被占用的一些内存。 所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms -Xmx来调整应用程序的初始内存和最大内存。
  方法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(最小内存)。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号