锁定老帖子 主题:Tomcat对于流量稍大网站的设定改进
精华帖 (1) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2009-11-13
1、linux+java6+nginx+tomcat6,可多配几个Tomcat
2、把你应用中是静态文件与动态文件分离开,尽可能做页面做成静态文件,由nginx转发,Tomcat只做动态请求部分。 3、将有规律性变动的数据做成静态文件,由后台引擎定时生成静态文件。 其实你类似的问题以前我也遇到过,很是头疼。改造之后系统平稳许多。希望对你有帮助 |
|
返回顶楼 | |
发表时间:2009-11-13
toney_kissinger 写道 1、linux+java6+nginx+tomcat6,可多配几个Tomcat 2、把你应用中是静态文件与动态文件分离开,尽可能做页面做成静态文件,由nginx转发,Tomcat只做动态请求部分。 3、将有规律性变动的数据做成静态文件,由后台引擎定时生成静态文件。 其实你类似的问题以前我也遇到过,很是头疼。改造之后系统平稳许多。希望对你有帮助 我之前也有试过把动态的jsp转为静态的, 记得当时是在网上copy段java代码,也就是加一个过滤器,当第一次请求的时候生成html,可是好像第一次有一些问题,也还有其它一些因素,比如有些要记录日志,做成静态页面的话,写日志有一些麻烦。 不知道你们用什么引擎做静态页面的? |
|
返回顶楼 | |
发表时间:2009-11-13
bevis.cn 写道 toney_kissinger 写道 1、linux+java6+nginx+tomcat6,可多配几个Tomcat
2、把你应用中是静态文件与动态文件分离开,尽可能做页面做成静态文件,由nginx转发,Tomcat只做动态请求部分。 3、将有规律性变动的数据做成静态文件,由后台引擎定时生成静态文件。 其实你类似的问题以前我也遇到过,很是头疼。改造之后系统平稳许多。希望对你有帮助 我之前也有试过把动态的jsp转为静态的, 记得当时是在网上copy段java代码,也就是加一个过滤器,当第一次请求的时候生成html,可是好像第一次有一些问题,也还有其它一些因素,比如有些要记录日志,做成静态页面的话,写日志有一些麻烦。 不知道你们用什么引擎做静态页面的? 如果这样,你可以考虑将需要记录日志的页面缓存起来,定期清理缓存 |
|
返回顶楼 | |
发表时间:2009-11-13
toney_kissinger 写道 1、linux+java6+nginx+tomcat6,可多配几个Tomcat
2、把你应用中是静态文件与动态文件分离开,尽可能做页面做成静态文件,由nginx转发,Tomcat只做动态请求部分。 3、将有规律性变动的数据做成静态文件,由后台引擎定时生成静态文件。 其实你类似的问题以前我也遇到过,很是头疼。改造之后系统平稳许多。希望对你有帮助 这位仁兄说的很对,在下补充几点: 1、如果是前端连几个tomcat,要注意session sticky 2、tomcat加上apr支持,这样的话,不用前端性能也会大大提高 3、thread不要设的太高,一般一个cpu200个,多了的话,线程切换反而导致性能下降。 4、记下每个请求的处理时间,找到时间最长的几个url,找出问题,解决之。具体方法可以写个filter即可。 5、关注下数据库的性能情况吧 |
|
返回顶楼 | |
发表时间:2009-11-13
个人经验,tomcat默认的设置基本上是最优的,不需要把相关参数调整的过大,你看看tomcat源码就知道了,你们很多默认值都比较低,如果调整的太大,不合适。
你面临的这个问题的解决思路有几点 1.先查一下代码问题,是不是代码,或者数据库的瓶颈导致,最好跟踪一下。 2.如果应用与session无关,只需要nginx + 多个tomcat负载均衡一下就ok了。 3.与session有关,则tomcat集群 第一点很重要 |
|
返回顶楼 | |
发表时间:2009-11-13
换个服务器估计会好点
|
|
返回顶楼 | |
发表时间:2009-11-13
高并发请求下,处理请求时间过长,导致线程突增,再加上请求超时时间设置过大。线程图已经很清晰呈现问题所在。
|
|
返回顶楼 | |
发表时间:2009-11-13
最后修改:2009-11-13
线程开的太多了把?
tomcat6 是nio,不需要开那么大,开的越大,性能反而下降。 我之前测试过 tomcat6 开20个线程,性能要比开200个线程好。 tomcat5开200线程性能接近tomcat6开20个线程。 性能调整,以实际环境,实际压力测试结果为准。环境不一样,没有太大的参考性。 当然貌似用apr性能最好一点。 处理静态资源tomcat未必比apache慢,至少我之前测试过的结果是这样的。 使用apache主要是考虑到安全性,和利用apache已有的一些模块,比如说缓存等等之类。 如果只是处理静态资源,不配apache也可以。配了性能也不会有多少提高。 |
|
返回顶楼 | |
发表时间:2009-11-13
用http代理+tomcat tomcat只负责动态处理jsp,servlet等。图片缓存都用代理静态解析,首页最好静态化,或缓存读取。
|
|
返回顶楼 | |
发表时间:2009-11-13
connectionTimeout="20000",可以设置相对小一些。
http代理端能负责一些请求相应,其它就小下去了。 |
|
返回顶楼 | |