Sun Java System Web Proxy Server 4.0.8 管理指南

常规性能注意事项

本节介绍分析 Proxy Server 性能时应考虑的常规问题。

本节包含以下主题:

访问日志记录

禁用访问日志记录可以提高 Proxy Server 的性能。不过,这样做是有代价的,因为将无从知晓哪些人在访问 Proxy Server 以及他们请求了哪些页面。

通过在 obj.conf 文件中注释掉以下指令,可以禁用 Proxy Server 访问日志记录:

Init fn=“flex-init” access=“$accesslog” format.access=“%Ses->client.ip% - %Req->vars.auth-user% [%SYSDATE%] \\”%Req->reqpb.clf-request%\\“ %Req->srvhdrs.clf-status% %Req->srvhdrs.content-length%”...AddLog fn=“flex-log” name=“access”

ACL 高速缓存调节

默认情况下,Proxy Server 将用户和组验证结果高速缓存在 ACL 用户高速缓存中。您可以使用 magnus.conf 文件中的 ACLCacheLifetime 指令来控制 ACL 用户高速缓存保持有效的时间。 每次引用高速缓存中的某个条目时,都将计算其寿命并检查 ACLCacheLifetime。如果该条目的寿命大于或等于 ACLCacheLifetime,则不再使用它。

ACLCacheLifetime 的默认值为 120 秒,这意味着在长达两分钟的时间内,Proxy Server 可能会与 LDAP 服务器不同步。如果将该值设置为 0(零),则会关闭高速缓存,并强制 Proxy Server 在每次用户验证时都查询 LDAP 服务器。在实现访问控制时,此设置将会对 Proxy Server 的性能产生负面影响。如果将 ACLCacheLifetime 设置为一个较大的值,则每次更改 LDAP 条目时,可能都需要重新启动 Proxy Server,因为此设置将强制 Proxy Server 查询 LDAP 服务器。只有在 LDAP 目录不经常改变时才设置一个较大的值。

ACLUserCacheSizemagnus.conf 中的一个参数,用于配置高速缓存中最多可以保留的条目数。默认值为 200。新条目将添加到列表的开头,当高速缓存达到其最大大小时,此列表末尾的条目将被删除以便容纳新条目。

还可以使用 ACLGroupCacheSize 参数来设置每个用户条目最多可以高速缓存的组成员资格数。默认值为 4。由于组中不属于成员的用户不会被高速缓存,因此将导致对于每个请求都要对 LDAP 目录进行多次访问。

缓冲区大小

可以指定服务器套接字处发送缓冲区的大小 (SndBufSize) 和接收缓冲区的大小 (RcvBufSize)。这些参数可以在 magnus.conf 文件中进行配置。对于不同的 UNIX 和 Linux 操作系统,建议的值会有所不同。请参阅操作系统的文档以正确设置这些参数。

连接超时

可以使用 magnus.conf 文件中的 AcceptTimeout 参数来指定服务器等待来自客户机的数据到达的秒数,此时间过后将关闭连接。如果数据在超时到期前未能到达,则会关闭连接。默认情况下,将此参数设置为 30 秒。在大多数情况下,不需要更改此设置。您可以通过将此参数设置为小于默认值来释放线程,但这样做可能会导致断开连接速度较慢的用户的连接。

错误日志级别

增大 server.xml() 文件 LOG 标记中的 loglevel 属性值会导致服务器在错误日志中生成和存储更多信息。然而,将条目写入此文件中会影响性能。请仅在调试问题时增大日志记录级别,而在不处于故障排除模式时将日志记录级别降至最低。

安全性要求

启用 SSL 会提高 Proxy Server 的保密性和安全性,但是也会影响性能,因为对数据包进行加密和解密会导致发生系统开销。您可能需要考虑将加密和解密处理工作转移给硬件加速器卡。

Solaris 文件系统高速缓存

Proxy Server 高速缓存并未存储在随机存取存储器中。每次从高速缓存中提取文档时,都会对文件系统进行文件访问操作。您可能需要考虑使用 Solaris 文件系统高速缓存将 Proxy Server 高速缓存预先装入到内存中。这样一来,将会从内存而不是从文件系统中提取对高速缓存的文件的引用。