当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。
一次完全的垃圾收集应该不超过 3-5 秒。
你应该使用物理内存的 80% 作为堆大小。
虽然tomcat也可以作web服务器,但其处理静态html的速度比不上apache,且其作为web服务器的功能远不如apache,因此我们想把apache和tomcat集成起来,将html与jsp的功能部分进行明确分工,让tomcat只处理jsp部分,其它的由apache,IIS等这些web服务器处理,由此大大节省了tomcat有限的工作\"线程"。
负载均衡实现的方式大概有四种:
第一是通过DNS,但只能实现简单的轮流分配,不能处理故障,
第二如果是基于MS IIS,Windows 2003 server本身就带了负载均衡服务,
第三是硬件方式,通过交换机的功能或专门的负载均衡设备可以实现,
第四种是软件方式,通过一台负载均衡服务器进行,上面安装软件。使用Apache Httpd Server做负载平衡器,Tomcat集群节点使用Tomcat就可以做到以上第四种方式。这种方式比较灵活,成本相对也较低。另外一个很大的优点就是可以根据应用的情况和服务器的情况采取一些策略。
Tomcat4中可以通过修改minProcessors和maxProcessors的值来控制线程数。这些值在安装后就已经设定为默认值并且是足够使用的,但是随着站点的扩容而改大这些值。minProcessors服务器启动时创建的处理请求的线程数应该足够处理一个小量的负载。也就是说,如果一天内每秒仅发生5次单击事件,并且每个请求任务处理需要1秒钟,那么预先设置线程数为5就足够了。但在你的站点访问量较大时就需要设置更大的线程数,指定为参数maxProcessors的值。maxProcessors的值也是有上限的,应防止流量不可控制(或者恶意的服务攻击),从而导致超出了虚拟机使用内存的大小。如果要加大并发连接数,应同时加大这两个参数。web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。
maxThreads
Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。
acceptCount//等待队列
指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
connnectionTimeout
网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
minSpareThreads//线程递增最小范围
如果当前没有空闲线程,且没有超过maxThreads,一次性创建的空闲线程数量。Tomcat初始化时创建的线程数量也由此值设置。
maxSpareThreads //线程递增最大范围
一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
线程数可以大致上用 "同时在线人数*每秒用户操作次数*系统平均操作时间" 来计算。
理解:tomcat在2个条件(没有空闲线程也没有超出maxthreads)下一次创建的空闲线程数量。
TOMCAT需要启动一些线程来处理请求,就算没有请求,这些线程也不关闭(如果线程数量没有超过maxThreads)
如果线程不够的话就要增加,但是每次增加不是增加一个而是一批,一批数量就是minSpareThreads到maxSpareThreads之间的取值。
当仍没有超出maxThreads,且已经达到maxSpareThreads上限的时候(当所有可以使用的处理请求的线程数都被使用时), acceptCount取值为:可以放到处理队列中的请求数,如100。
最好的方式是多设置几次并且进行测试,观察响应时间和内存使用情况。在不同的机器、操作系统或虚拟机组合的情况下可能会不同,而且并不是所有人的web站点的流量都是一样的,因此没有一刀切的方案来确定线程数的值。
分享到:
相关推荐
Tomcat性能调优 tomcat的服务器性能优化文档,介绍全面的tomcat服务器调优技巧。
在Tomcat和应用程序进行了压力测试后,如果您对应用程序的性能结果不太满意,就可以采取一些性能调整措施了,当然了前提是应用程序没有问题,tomcat性能调优总结,欢迎下载
Tomcat性能调优指导手册 1. 概述 3 2. Java虚拟机性能调优 3 2.1 catalina.sh 或 catalina.bat 3 2.2 winNT服务 3 3. 禁用DNS查询 4 4. 调整线程数(连接数) 4 5. 使用gzip传输 5 6. 负载均衡 5 6.1 实现负载均衡的...
一、操作系统调优 二、Java虚拟机调优 三、Apache集成Tomcat 四、Apache和Tomcat集群 五、Tomcat自身优化 六、APR库使用
通向架构师的道路(第四天)之Tomcat性能调优-让小猫飞奔
Tomcat性能调优方案[参考].pdf
优化提高tomcat性能.Tomcat参数调优 大家也许经常会遇到面试时问你会不会TOMCAT性能调优技术,现在奉上
Tomcat性能调优及配置技巧
详细讲解tomcat7性能调优,对设置进行剖析说明,对进一步了解tomcat有一定帮助
本文以现场实践为基础,用实例讲解了如何对Tomcat进行性能调优,并对比了调优前后性能指标数据的变化,是一个不可多得的参考资料。
挺不错的,请下载 tomcat性能调优,你也可以
使用visualvm工具进行tomcat性能调优和性能监控.docx
通向架构师的道路(第四天)之Tomcat性能调优-让小猫飞奔
tomcat7 优化 性能调优,优化tomcat的配置,修改启动模式,开启并且使用线程池,JVM优化,图文说明
本文档主要介绍了Tomcat 的性能调优的原理和方法。可作为公司技 术人员为客户Tomcat 系统调优的技术指南,也可以提供给客户的技 术人员作为他们性能调优的指导手册。
通过优化tomcat提高网站的并发能力。服务器所能提供CPU、内存、硬盘的性能对处理能力有决定性影响。