AJP connector
使用
socket poller
实现
keepalive
,增加了服务器的扩展性。因为
AJP
以持久(或者近似持久)连接为中心进行设计,所以能够极大地减少
JBoss Web
所需的处理线程数量。与
HTTP connector
不同的是,
AJP connector
不能使用
sendfile
优化处理静态文件时的性能。
AJP connector
支持的属性如下:
Attribute
|
Description
|
acceptCount
|
当所有请求处理线程都被占用时,允许接收连接请求队列的最大长度。当队列已满时,任何收到的请求都将被拒绝。缺省值为
10.
|
address
|
对于有多个
IP
地址的服务器,该属性设置使用哪个地址监听指定的端口。缺省情况下,设置的端口用于绑定服务器的所有
IP
地址。设置为
127.0.0.1
表示
Connector
仅侦听
loopback
接口。
|
allowTrace
|
该布尔值用于启用或禁用
HTTP
协议的
TRACE
方法。如果不设置,该属性值为
false.
|
connectionTimeout
|
Connector
接收连接后,等待提供请求
URI
的时间
.
缺省值为无限长(也就是没有超时)
.
|
emptySessionPath
|
如果设为
true
,所有
path
的
session cookie
将设为
/
。这对
portlet
规范的实现非常有用,但是在服务器需要同时提供多个被访问的应用时,会对性能造成很大的影响。如果没有设置,该值为
false
。
|
enableLookups
|
该值为
true
时,
调用
request.getRemoteHost()
将执行
DNS
查询返回远程客户端的实际主机名。该值为
false
,将略过
DNS
查询直接以字符串格式返回
IP
地址(因而能够提升性能)。缺省情况下,启用
DNS
查询。
|
firstReadTimeout
|
该属性值用于设置第一次读取
request
数据的超时时间。如果没有可读取的数据,
socket
将会被放入
poller
。该属性值设为
0
,将会提高扩展性,但是会对等待时间造成轻微的影响(查看相关的属性
pollTime
)。缺省值为
100
(
100ms
)。注意:在
Windows
系统中,
firstReadTimeout
的实际值为
500 +
设置值。
|
maxPostSize
|
容器在
Form URL
参数解析过程中能够处理的
POST
最大长度,以字节计算。该属性设置为小于或等于
0
,限制取消。如果不设置,该属性为
2097152
(
2
兆)
|
maxSavePostSize
|
在
FORM
或
CLIENT-CERT
认证期间,容器能够保存
/
缓存
POST
数据的最大长度。这两种认证方式在用户认证之前会保存或缓存
POST
数据。对于
CLIENT-CERT
认证,在
SSL
握手期间
POST
数据将被缓存,请求处理后缓存数据将被清空。对于
FORM
认证,当用户被重定向到
login form
时,
POST
数据被保存。该数据一直保存到用户成功认证,或者认证请求关联的
session
失效。该属性为
-1
时,限制取消。该属性设为
0
,在认证期间将不保存
POST
数据。如果不设置,该属性值为
4096
(
4k
)
|
maxThreads
|
Connector
创建的请求处理线程的最大值,它决定了能够同时处理并发请求的最大值。如果不指定,该属性值为
200
。
|
pollTime
|
Poll call
间隔。降低该属性值将会轻微地减少连接保持存活的等待时间,但是更多的
poll call
,将会更多地占用
CPU
,缺省值为
500
(
5ms
)
|
pollerSize
|
负责轮询存活连接的
poller
在一给定时间内保持的
socket
数量。多的连接将立即被关闭。缺省值为
768
,对应
768
个存活的连接
|
port
|
该属性值设置
Connector
创建等待连接
Socket
的
TCP
端口号。操作系统仅允许一个服务器应用监听
IP
地址的一个端口。
|
protocol
|
使用
AJP handler
时,该属性必须为
AJP/1.3
|
proxyName
|
当
Connector
用于代理配置环境,该属性值为调用
request.getServerName()
返回的服务器名。
|
proxyPort
|
当
Connector
用于代理配置环境,该属性值设为调用
request.getServerPort()
返回的服务器端口。
|
redirectPort
|
如果
Connector
支持非
SSL
请求,当接收到的请求匹配
<security-constraint>
SSL
传输时,
Catalina
将自动将请求重定向到这里设置的端口。
|
request.registerRequests
|
该属性控制是否为了
Connector
的
JMX
监控记录请求。缺省情况下启用,但是禁用它可以节省一点内存。
|
scheme
|
该属性值为调用
request.getScheme()
返回的协议名称。例如,在
SSL Connector
中可以将该属性值设为
https
。缺省值为
http
。
|
secure
|
该属性为
true
时,对于
Connector
(假定为
SSL Connector
)接收的请求调用
request.isSecure()
将返回
true
。缺省值为
false
。
|
tcpNoDelay
|
该值为
true
,服务器的
socket
将使用
TCP_NO_DELAY
选项,大部分情况下该选项可以提升性能。缺省值为
true
。
|
tomcatAuthentication
|
如果设置为
true
,验证在
JBoss Web
中完成。否则,主体在在本地
web
服务器被验证后,传递到
JBoss Web
中授权。缺省值为
true
。
|
URIEncoding
|
设置用于
URI
解码的字符编码,如果不设置将使用
ISO-8859-1
|
useBodyEncodingForURI
|
该标志表示是否使用
contentType
指定的编码代替
URLEncoding
作为
URI
查询参数的编码。该设置提供了与
Tomcat 4.1.x
的兼容性,在
Tomcat 4.1.x
中,
contentType
指定的编码或者使用
Request.setCharacterEncoding
显式设置的编码也用于
URL
参数。缺省值为
false
。
|
useIPVHosts
|
该值为
true
时,
JBoss Web
使用
request
接收到的
IP
地址来确定将请求发送到哪个
Host
。缺省值为
false
。
|
xpoweredBy
|
该值为
true
时,
JBoss Web
将通过推荐的
HTTP header
发布支持
Servlet
规范的信息。缺省值为
false
|