Chinaunix首页 | 论坛 | 博客
  • 博客访问: 140682
  • 博文数量: 68
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 720
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-28 20:01
文章分类

全部博文(68)

文章存档

2015年(68)

我的朋友

分类: 系统运维

2015-08-31 19:19:18

关于tomcat的能支持多少并发,我个人觉得这个没什么探讨的意义,因为每个人的应用、硬件等都不一样,简单来说,tomcat并发跟应用的性能、服务器性能等相关;看看下面找到的一些优化方法可能比纠结于maxThread要设成多少要好得多。

1、使用最新版的JVM和tocmat

据说最新版的JVM和tomcat都会有更好的性能和可扩展性,不过我们的这边的环境都是用版本6,这个没实际测过,

2、加大堆内存

-Xms:JVM Heap(堆内存)初始分配的最小值

-Xmx:JVM Heap(堆内存)最大允许值

在设置时一般将Xms与Xmx值设为一样,值的大小可以为可用内存的80%,较大的堆内存可以使JVM不用频繁的去调用GC,减少运行期间系统在内存申请上所花的开销。如:设置JAVA_OPTS='-Xms1024m -Xmx1024m'

3、禁用DNS Lookup
DNS的查询会消耗系统资源,查询的过程中需要一定的时间且要占用网络。可在server.xml的connector中设置enableLookups="false"

4、maxThreads的设置

这个根据实际情况来设,最简单的方法是在忙时看前端负载均衡的连接数,然后留有一定的余量就行了。别设太高,很耗内存,起动tomcat也慢,如果请求太多处理不过来有阻塞,加多一个实例的效果会比较好

5、应用压缩

在server.xml的connector中配置压缩,如 

<compression="500"

compressableMimeType="text/html,text/xml,text/plain,application/octet-stream" />

compressableMimeType为压缩的类型,compression="500"为大于、等于500bytes的则进行压缩,compression="on"测不论大小一律压缩。

6、使用APR库

使用APR库,可在Tomcat中使用JNI的方式来读取文件以及进行网络传输,加速IO访问,提升Tomcat对静态文件的处理性能。APR需另外下载安装

另外的像应用本身、网络、服务器、数据库之类的也和tomcat的性能关系很大,上面只是列出我找到的关于tomcat本身的一些方法。

最后还有一些建议,如果应用有较多静态文件或是静态文件访问量比较大,给它们一个过期时间让客户端缓存吧,要不就加多个apache或nginx来专门处理静态文件;还有就是应用与数据库之间,memcache这个还是用上吧

阅读(300) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~