论坛首页 Java企业应用论坛

请教一个tomcat AJP/1.3 Connector的问

浏览 29402 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-01-24  
<Connector port="8080"   maxThreads="200" minSpareThreads="100" maxSpareThreads="150"
               enableLookups="false" redirectPort="8443"  acceptCount="100" 
               debug="0"   isableUploadTimeout="true"  URIEncoding="GBK"  />

    <Connector port="8009"  maxThreads="200" minSpareThreads="100" maxSpareThreads="150"
               enableLookups="false" redirectPort="8443"  acceptCount="100" 
               debug="0"  isableUploadTimeout="true"  URIEncoding="GBK"
               protocol="AJP/1.3" />


以上的两个Connector定义只有第二个多了一个protocal=“AJP/1.3”

当我单独运行tomcat的时候用第一个,把第二个注释掉,然后查看java的线程数为110。

当我把tomcat和apache用mod_jk整和后把第一个注释掉用第二个,但是我查看java的线程只有14个。

难道minSpareThreads="100" 对protocal=“AJP/1.3”协议的Connector不起作用么?
如果是这样apache和tomcat之间的通信会不会出现瓶颈?

谁能帮我解释一下
   发表时间:2006-01-24  
sparethread是备用线程,不会有太大影响.不知道你用的是什么版本,tomcat 5.5应该有效
0 请登录后投票
   发表时间:2006-01-25  
"maxSpareThreads","minSpareThreads"这两个参数只有在strategy="lf"时才有效,tomcat5.5默认的就是strategy="lf",并且如果当TOMCAT处理AJP协议时(也就是请求都是通过APACHE来分发的情况下)也只能使用"lf"这种策略了,所以这个参数是有效的,当TOMCAT的线程池初始化时确实是会new 出 minSpareThreads个Thread的实例,并且也调用了相应的start()方法来启动线程.
0 请登录后投票
   发表时间:2006-01-25  
你是怎么知道Tomcat开了多少个线程的?
0 请登录后投票
   发表时间:2006-01-25  
我用的
apache_2.0.55-win32-x86-no_ssl.msi
jakarta-tomcat-5.0.16.exe
mod_jk-1.2.14-apache-2.0.54.so

to nihongye:
引用
sparethread是备用线程,不会有太大影响.

就是说在我的版本虽然没有在tomcat启动时创建sparethread个线程,但是当需要增加时再创建,那么maxThreads="200"总该有作用对吧???

to z_jordon
引用

参数只有在strategy="lf"时才有效

这个策略在哪设置? 直接写在Connector下么?


还有就是apache-tomcat的文当里面为什么没有Connector配置参数的介绍,我怎么没找到, 5.0的Connector有连接可是打开无法显示该页,5.5的文档干脆Connector上就没有连接了,哪位知道告诉我一声
0 请登录后投票
   发表时间:2006-01-25  
引用
你是怎么知道Tomcat开了多少个线程的?


我运行的startup.bat
在Windows XP下 按Alt+ctrl+del查看的java.exe的线程数
0 请登录后投票
   发表时间:2006-01-25  
zgli 写道
引用
你是怎么知道Tomcat开了多少个线程的?


我运行的startup.bat
在Windows XP下 按Alt+ctrl+del查看的java.exe的线程数


任务管理器里面怎么察看java.exe的线程数?
0 请登录后投票
   发表时间:2006-01-25  
哈哈
伟大的robbin也有不知道的 ,教你一招

alt+ctrl+del
然后菜单
查看--&gt;选择列--&gt;线程记数

就看见了
0 请登录后投票
   发表时间:2006-01-25  
谢谢你教了我一招!

现在我来回答你的问题。其实通过任务管理器查看Java线程这种方式很不精确,标准的方法有两个:

1、Unix平台使用kill -3,会在log里面看到线程堆栈
2、如果是JDK5.0,使用jconsole来查看线程堆栈

我刚才在我机器上面试了一下,无论是http,还是AJP,都是开多少个,就启动多少线程。也许你的整合方式带来一些不同的地方。

最后,tomcat5.5以上版本有一个新特性 - APR,可以下载一个APR的dll文件放在PATH路径下,这样tomcat会使用操作系统的非阻塞Socket,不再启动多个等待线程。
3 请登录后投票
   发表时间:2006-01-25  
在manager web 里查看status,里面有线程数
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics