`

Tomcat 的一些笔记

 
阅读更多

设置Xms, Xmx for tomcat的大小:

一般来说, heap size的大小制定为物理内存的80%左右.

 

虚拟机的堆大小决定了虚拟机花费在收集垃圾上的时间和频度。收集垃圾可以接受的速度与应用有关,应该通过 分析实际的垃圾收集的时间和频率来调整。如果堆的大小很大,那么完全垃圾收集就会很慢,但是频度会降低。如果你把堆的大小和内存的需要一致,完全收集就很 快,但是会更加频繁。调整堆大小的的目的是最小化垃圾收集的时间,以在特定的时间内最大化处理客户的请求。在基准测试的时候,为保证最好的性能,要把堆的 大小设大,保证垃圾收集不在整个基准测试的过程中出现。

如果系统花费很多的时间收集垃圾,请减小堆大小。一次完全的垃圾收集应该不 超过3-5秒。如果垃圾收集成为瓶颈,那么需要指定代的大小,检查垃圾收集的详细输出,研究垃圾收集参数对性能的影响。一般说来,你应该使用物理内 存的80%作为堆大小。当增加处理器时,记得增加内存,因为分配可以并行进行,而垃圾收集不是并行的.

 

设置Xms, Xmx for tomcat的方法:

 

After looking around a bit, here is how I learned to configure heap size for Tomcat 6.x:

export CATALINA_OPTS="-Xms1024m -Xmx1024m"

 

CATALINA_OPTS or JAVA_OPTS?

CATALINA_OPTS is used to control Tomcat environment options, whereas JAVA_OPTS controls the environment options at a higher level ie. for any Java library.

You can start Tomcat with more heap memory using the following:


Tomcat与其它web服务器整合使用

虽然tomcat也可以作web服务器,但其处理静态html的速度比不上apache,且其作为web服务器的功能远不如apache,因此我们想把 apache和tomcat集成起来,将html与jsp的功能部分进行明确分工,让tomcat只处理jsp部分,其它的由apache,IIS等这 些web服务器处理,由此大大节省了tomcat有限的工作“线程”。

 

  • 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中的配置中,和连接数相关的参数有:

 

以下参数在Tomcat6里default value貌似改了, Please check Catalina Functional Specification

 

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

 

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


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

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics