浏览 12254 次
锁定老帖子 主题:一个关于Tomcat使用APR的问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-04-17
测试环境如下: Tomcat Version: Apache Tomcat/5.5.16 JVM Version: 1.4.2_10-b03 JVM Vendor: Sun Microsystems Inc. OS Name: Linux OS Version: 2.6.5-7.97-default OS Architecture : i386 系统是SuSE 9企业版。 我编译了APR 1.2.7/Open SSL 0.98/和tomcat-native 1.1.3,并且将libtcnative-1.so链接到jre/lib/i386文件夹中。 在使用APR的时候能够在tomcat的manager/status页面里面看到OS信息: Physical memory: 1004.58 MB Available memory: 30.26 MB Total page file: 2941.55 MB Free page file: 2837.14 MB Memory load: 97 Process kernel time: 0.0 s Process user time: 0.0 s。 测试很简单,分别在启动和不启动APR的情况下就是去压tomcat5.5.16的tomcat-doc/changelog.html,但是两种情况下得到的结果都是一样的,大约40个请求每秒。 所以我想请教一下大家,是否一定要Java 5.0才能发挥APR的性能呢? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-04-17
你本机测的?
|
|
返回顶楼 | |
发表时间:2006-04-17
哇,老大好快啊。谢谢谢谢。
我是用另外一个机器上的压力测试工具压的。 |
|
返回顶楼 | |
发表时间:2006-04-17
似乎只对部署有好处。。
请问对开发来说有好处吗?感觉得到速度的变化吗? |
|
返回顶楼 | |
发表时间:2006-04-17
应该只是针对静态页面的优化,对开发没啥影响
|
|
返回顶楼 | |
发表时间:2006-04-17
恩。。和resin专业版本的jni加速类似是吧?有win32版本吗?
|
|
返回顶楼 | |
发表时间:2006-04-17
APR是跨平台的,在win32上肯定是有支持。我觉得这个东西跟resin比最大的好处就是apr是经过时间检验的,比较成熟。
要测APR给tomcat带来的好处最好的方法是在慢速网络上(模拟Internet),将Tomcat线程数开到300以上的水平,然后模拟一大堆并发请求。如果不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待。但是配上APR之后,并发的线程数量明显下降,从原来的300可能会马上下降到只有几十,新的请求会毫无阻塞的进来。 |
|
返回顶楼 | |
发表时间:2006-04-17
原来是对慢速网络的优化,我理解错了,以为可以在快速网络条件下提高静态页面的相应速度。多谢hongliang兄指点。
|
|
返回顶楼 | |
发表时间:2006-04-18
提高静态页面响应速度就直接加cache,比如squid之类的。APR对于Tomcat最大的作用就是socket调度。
你在局域网环境测,就算是400个并发,也是一瞬间就处理/传输完毕,但是在真实的Internet环境下,页面处理时间只占0.1%都不到,绝大部分时间都用来页面传输。如果不用APR,一个线程同一时间只能处理一个用户,势必会造成阻塞。所以生产环境下用apr是非常必要的。 |
|
返回顶楼 | |
发表时间:2006-04-18
用 Apache Portable Runtime 来提供更强性能,提升Web静态页面的处理能力,不再需要专门的Web Server来处理静态页面了。
相关的性能测试结果参见 http://www.javaworld.com.tw/jute/post/view?bid=9&id=139958&sty=3&age=0 |
|
返回顶楼 | |