编辑性能设置

本节介绍您可以进行的一些特定调整,这些调整可提高 Sun Java System Web Server 7.0 性能。

调整服务器时,请务必谨记您的特定环境是唯一的。根据您的特定环境,本节中提供的建议所产生的影响会有所不同。最终,您必须依靠自己的判断和观察来选择最适合您的调整。

编辑 HTTP 性能设置

要配置 HTTP 设置,请单击配置 > 配置名称 > 性能 > HTTP。下表介绍了 HTTP 设置。

表 10 字段说明 > 常规设置

字段

默认值

描述

请求标头缓冲区大小

8192 字节

该参数指示服务器仅在标头大小小于或等于所提供的值时才处理 HTTP 请求。

允许的标头过大可能会降低服务器的性能。

拒绝异常的请求标头

已禁用

拒绝与 HTTP 规范冲突的异常 HTTP 请求和响应。

默认情况下,禁用该参数。如果启用,则服务器将检查异常的请求标头。

最大请求标头

64 字节

允许处理请求的 HTTP 请求标头的最大大小。

响应缓冲区大小

8192 字节

限制服务器的 HTTP 响应缓冲区大小。有关控制此参数的更多信息,请参见 Performance Tuning Guide

最大取消分块大小

8192 字节

服务器将取消已分块 HTTP 请求主体的最大大小(以字节为单位)。值的范围可介于 0 至 214704836470 之间。

取消分块超时

60 秒

服务器等待已分块 HTTP 请求主体到达的最长时间(以秒为单位)。值的范围可介于 0 至 3600 之间,或为 -1 表示无超时限制。

I/O 超时

30 秒

服务器等待单个包的最长时间(以秒为单位)。值的范围可介于 0 至 3600 之间,或为 -1 表示无超时限制。

请求正文超时

-1 秒

服务器将等待完整 HTTP 请求主体的最长时间(以秒为单位)。值的范围可介于 0 至 604800 之间,或为 -1 表示无超时限制。

请求标头超时

-1 秒

服务器将等待完整 HTTP 请求标头的最长时间(以秒为单位)。值的范围可介于 0 至 604800 之间,或为 -1 表示无超时限制。

表 11 字段说明 > 线程池设置

字段

默认值

描述

线程池

已启用

默认情况下已启用线程池。

最大线程数

默认

此参数将确定线程池中的最大线程数。较大的值允许并发处理较多的请求,但上下文切换会导致系统开销较大,因此该值并非总是越大越好。通常,不需要增大该值,但如果您的 CPU 并未完全使用并且仍有请求在排队等候处理,就可以增大它。

最小线程数

默认

此参数确定线程池中的最小线程数。

堆栈大小

13107.02

此参数确定线程池中每个线程的堆栈大小(以字节为单位)。

队列大小

1024

该参数确定可排入线程池队列等待的线程数。如果线程池中的所有线程都忙,则下一个需要使用本地池中某个线程的请求处理线程必须在队列中等待。

如果队列已满,则下一个尝试排队的请求处理线程会被拒绝,并向客户机返回一个忙响应。然后就可以处理其他传入请求,而不会被束缚于在队列中等待。

表 12 字段说明 > 保持活动设置

字段

默认值

描述

保持活动

已启用

Sun Java System Web Server 7.0 中的保持活动(或 HTTP/1.1 持久性连接处理)子系统被设计为更具可伸缩性。如果工作负荷不是持久的(即,不带 Keep Alive 标头的 HTTP/1.0),或者对于主要处理保持活动连接的轻负荷系统,现成可用的配置不是最理想的。

线程

默认

此参数确定保持活动子系统中的线程数。建议此数值为系统中处理器数目的较小倍数(例如,一个配有 2 个 CPU 的系统应具有 2 个或 4 个保持活动线程)。

最大连接数

默认

此参数控制 Web 服务器可随时维护的保持活动的最大连接数。范围介于 1 至 1048576 之间

超时值

30 秒

此参数确定服务器保持与客户机之间的 HTTP 保持活动连接或持久性连接处于打开状态的最长时间(以秒为单位)。默认值为 30 秒。如果空闲超过 30 秒,则连接将超时。最大值为 300 秒(5 分钟)。

轮询时间间隔

0.001 秒

启动服务器轮询之前经过的时间段。

编辑 DNS 设置

要配置 DNS 设置,请单击配置 > 配置名称 > 性能 > DNS。下表介绍了可能会影响 Sun Java System Web Server 7.0 性能的通用 DNS 设置。

表 13 字段说明 > DNS 设置

字段

默认值

描述

DNS 查找

已禁用

服务器是否进行 DNS 查找。默认值为 false。

异步 DNS

已禁用

服务器是否使用了自己的异步 DNS 解析器,而非操作系统的同步解析器。默认值为 true。

超时值

12 秒

异步 DNS 查找的超时值(以秒为单位)。值的范围可介于 0.001 至 3600 之间。

DNS 高速缓存

已启用

DNS 高速缓存用于高速缓存 IP 地址和 DNS 名称。默认情况下,将启用服务器的 DNS 高速缓存。

最大高速缓存大小

1024 个条目

服务器所允许的最大高速缓存条目数。单个高速缓存条目表示单个 IP 地址或 DNS 名称查找。此高速缓存大小应等于并行访问 Web 站点的最大客户机数。

请注意,将高速缓存大小设置得过高会浪费内存和降低性能。

高速缓存过期时间

120 秒

超过该时间后,DNS 条目即过期。在此过期时间后将进行新的查找。

编辑 SSL 和 TLS 设置

要配置 SSL 和 TLS 设置,请单击配置 > 配置名称 > 性能 > SSL 和 TLS。下表介绍了可能会影响 Sun Java System Web Server 7.0 性能的 SSL 和 TLS 设置。

表 14 字段说明 > SSL 和 TLS 设置

字段

默认值

描述

SSL 高速缓存

已启用

服务器是否高速缓存 SSL/TLS 会话。默认值为 true。

最大高速缓存大小

10000 个条目

服务器将高速缓存的最大 SSL/TLS 会话数。值的范围介于 1 至 524288 之间。

SSL2 会话生存期

100 秒

高速缓存 SSL2 会话的最长时间。值的范围介于 5 至 100 之间。

SSL3/TLS 会话生存期

86400 秒

高速缓存 SSL3/TLS 会话的最长时间。值的范围介于 5 至 86400 之间。

编辑高速缓存设置

要配置高速缓存设置,请单击配置 > 配置名称 > 性能 > 高速缓存。下表介绍了可能会影响 Sun Java System Web Server 7.0 性能的高速缓存设置。

表 15 字段说明 > 高速缓存设置

字段

默认值

描述

高速缓存文件内容

已启用

默认情况下,启用文件高速缓存。有关设置的更多信息,请参见 Administrator's Configuration File Reference

使用 sendfile

已禁用

启用此选项后,服务器会将文件的打开文件描述符(而非文件内容)高速缓存到文件高速缓存中,并使用 PR_TransmitFile 将文件内容发送至客户机。如果启用此选项,文件高速缓存对小、中和大文件造成的差异将不再存在,因为服务器只高速缓存打开文件描述符。

默认情况下,此选项在 Windows 中为启用,而在 UNIX 中被禁用。在 UNIX 中,仅在对 PR_TransmitFile 具有本地操作系统支持的平台上启用此选项,当前此类平台包括 HP-UX 和 AIX。建议不要为其他 UNIX/Linux 平台启用此选项。

最长生存期

30 秒

此设置控制文件在高速缓存后,高速缓存的信息可以继续使用多长时间。存在时间比指定值长的条目会被同一文件的新条目替换(如果在高速缓存中引用同一文件)。

请根据内容是否定期更新(即修改现有文件)来设置最长生存期。例如,如果内容一天定期更新四次,您可以将最长生存期设置为 3600 秒。否则,可考虑将最长生存期设置为修改文件之后希望处理以前版本的内容文件的最长时间。

高速缓存文件内容和/或元信息的最长时间(以秒为单位)。值的范围可介于 0.001 至 3600 之间。

最大条目数

1024 个条目

高速缓存其文件内容和/或元信息的最大路径数。值的范围可介于 1 至 10485706 之间。

打开的最多文件数

默认

文件高速缓存保持打开状态的最多文件描述符数。值的范围可介于 1 至 1073741824 之间。

将文件复制到目录

已禁用

服务器是否将高速缓存的文件复制到临时目录中。在 Windows 上,默认值为 true,而在其他平台上,默认值为 false。

目录路径

-

copy-files 为 true 时所使用的临时目录。绝对路径或相对于服务器 config 目录的路径。

替换算法

LRU

高速缓存条目替换算法。该值可为 None、LRU 或 LFU。

高速缓存文件内容

已启用

服务器是否高速缓存文件内容。默认值为 true。

最大堆文件大小

524288 字节

在堆上高速缓存的最大文件大小(以字节为单位)。值的范围可介于 0 至 2147483647 之间。

最大堆空间大小

104857060 字节

用于高速缓存文件的最大堆容量(以字节为单位)。值的范围可介于 0 至 9223372036854775807 之间。

最大内存映射文件大小

0 字节

最大内存映射文件大小(以字节为单位)。值的范围可介于 0 至 2147483647 之间。

最大内存映射地址空间

0 字节

用于高速缓存文件的最大内存映射地址空间容量(以字节为单位)。值的范围可介于 0 至 9223372036854775807 之间。

高速缓存 ACL 验证

已启用

默认情况下,启用 ACL 用户高速缓存。由于高速缓存的默认大小为 200 个条目,因此 ACL 用户高速缓存可能会成为瓶颈,或者完全无法在通信量过大的站点上发挥其功用。在一个繁忙的站点上,200 个以上的用户可在比高速缓存条目的生存期还短的时间内找到受保护的 ACL 资源。如果出现此类情况,服务器必须频繁地查询 LDAP 服务器以验证用户,这将会影响到系统性能。

最大用户数

200

将该指令设置为可确定用户数的数值(默认值为 200)。

最大组数

4

将该指令设置为可确定针对单个 UID/高速缓存条目缓存的 ID 组数的数值(默认值为 4)。

高速缓存超时

120 秒

将该指令设置为可确定超过多少秒数后高速缓存条目过期的数值。每次引用高速缓存中的某个条目时,都将计算其生存期并根据指定的秒数进行检查。如果该条目的生存期大于或等于指定的秒数,则不会使用该条目。

默认值为 120 秒。如果将该值设置为 0,则关闭高速缓存功能。如果将其设置为一个较大的值,则更改 LDAP 条目后,可能需要重新启动服务器。例如,如果将该值设置为 120 秒,则在长达两分钟的时间内,服务器可能会与 LDAP 服务器不同步。如果您的 LDAP 不经常更改,请使用较大的值。

编辑 CGI 设置

要配置 CGI 设置,请单击配置 > 配置名称 > 性能 > CGI。下表介绍了可能会影响 Sun Java System Web Server 7.0 性能的 CGI 设置。

表 16 字段说明 > CGI 设置

字段

默认值

描述

CGI 超时

-1

超时值(以秒为单位),超过该时间后,服务器就会终止长时间运行的 CGI 程序。值的范围从 0.001 至 3600,或为 -1 表示无超时限制。

CGI 空闲超时

300

超时值(以秒为单位),超过该时间后,服务器就会终止不响应的 CGI 程序。值的范围从 0.001 至 3600。

CGI 存根超时

30

超时值(以秒为单位),超过该时间后,即终止不使用的 Cgistub 进程。值的范围从 0.001 至 3600。

CGI 存根可执行文件

默认

自定义 CGI 存根可执行文件的路径。

最小存根大小

0

等待运行 CGI 程序时,服务器将保留以随时使用的最小 Cgistub 进程数。值的范围从 0 至 4096。

最大存根大小

16

等待运行 CGI 程序时,服务器将保留以随时使用的最大 Cgistub 进程数。值的范围从 1 至 4096。

编辑访问日志缓冲区设置

要配置访问日志缓冲区设置,请单击配置 > 配置名称 > 性能 > 访问日志缓冲区。下表介绍了可能会影响 Sun Java System Web Server 7.0 性能的访问日志缓冲区设置。

表 17 字段说明 > 访问日志缓冲区设置

字段

默认值

描述

缓冲区日志更新

已启用

是否更新系统缓冲区访问日志。默认值为 true。

缓冲区大小

8192 字节

单个访问日志缓冲区的大小(以字节为单位)。值的范围介于 4096 至 10485706 之间。

最大缓冲区数/服务器

默认

每台服务器的最大访问日志缓冲区数目。值的范围介于 1 至 65536 之间。

最大缓冲区数/文件

8

每个访问日志文件的最大访问日志缓冲区数目。值的范围从 1 至 128。

最长生存期

1 秒

将给定访问日志条目存入缓冲区的最长时间。值的范围从 0.001 至 3600。