Welcome

首页 / 软件开发 / 数据结构与算法 / 通向架构师的道路 第四天 Tomcat性能调优-让小猫飞奔

通向架构师的道路 第四天 Tomcat性能调优-让小猫飞奔2013-02-11 csdn lifetragedy一、总结前一天的学习

从“第三天”的性能测试一节中,我们得知了决定性能测试的几个重要指标,它们是:

ü   吞吐量

ü   Responsetime

ü   Cpuload

ü   MemoryUsage

我们也在第三 天的学习中对Apache做过了一定的优化,使其最优化上述4大核心指标的读数,那么我们的Apache调优了,我们的Tomcat也作些 相应的调整,当完成今的课程后,到时你的“小猫”到时真的会“飞”起来的,所以请用心看完,这篇文章一方面用来向那位曾 写过“Tomcat如何承受1000个用户”的作都的敬,一方面又是这篇原文的一个扩展,因为在把原文的知识用到相关的两个大工程 中去后解决了:

1) 承受更大并发用户数

2) 取得了良好的性能与改善(系统平均性能提升达20倍,极端一个交易达80倍)。

另外值的一提的是,我们当时工程里用的“小猫”是跑在32位机下的, 也就是我们的JVM最大受到2GB内存的限制,都已经跑 成“飞”了。。。。。。如果在64位机下跑这头“小猫”。。。。。。大家可想而知,会得到什么样的效果呢?下面就请请详细 的设置吧!

二、一切基于JVM(内存)的优化

2.1 32位操作系统与64位操作系统中JVM的对比

我们一般的开发人员,基本用的是都是32位的Windows系统,这就导致了一个严重的问题即:32位windows系统对内存限制, 下面先来看一个比较的表格:

操作系统操作系统位数内存限制解决办法
Winxp324GB超级兔子
Win7324GB可以通过设置/PAE
Win200332可以突破4GB达16GB必需要装win2003 advanced server且要 打上sp2补丁
Win764无限制机器能插多少内 存,系统内存就能支持到多大
Win200364无限制机器能插多少内存,系统内存就能支持到多大
Linux64无限制机器能插多少内存,系统内存就能支持到多大
Unix64无限制机器能插多少内存,系统内存就能支持到多大
上述问题解决后,我们又碰到一个新的问题,32位系统下JVM对内存的限制:不能突破2GB 内存,即使你在Win2003 Advanced Server下你的机器装有8GB-16GB的内存,而你的JAVA,只能用到2GB的内存。

其实我 一直很想推荐大家使用Linux或者是Mac操作系统的,而且要装64位,因为必竟我们是开发用的不是打游戏用的,而Java源自Unix 归于Unix(Linux只是运行在PC上的Unix而己)。

所以很多开发人员运行在win32位系统上更有甚者在生产环境下都会布 署win32位的系统,那么这时你的Tomcat要优化,就要讲究点技巧了。而在64位操作系统上无论是系统内存还是JVM都没 有受到2GB这样的限制。