超时对服务器性能具有显著影响。为 Proxy Server 设置最佳超时值有助于节省网络资源。
在 Proxy Server 中,可以使用两个特定于实例的 SAF(server application function,服务器应用函数)以及一个全局参数来配置超时值:
init-proxy() 函数用于初始化 Proxy Server 的内部设置。此函数在 Proxy Server 初始化过程中被调用,但还应在 obj.conf 文件中进行指定以确保正确初始化各值。
此函数的语法如下:
Init fn=init-proxy timeout=seconds timeout-2=seconds
在上例中,对 Proxy Server 的 init-proxy SAF 超时设置直接应用了以下参数:
timeout(代理超时)- 代理超时参数用于指示服务器在等待多长时间后退出闲置连接。如果代理超时值较高,会将重要的代理线程长时间地调配给可能出现故障的客户机使用。如果超时值较低,会退出需要运行很长时间才能产生结果的 CGI 脚本(如数据库查询网关)。
要确定服务器的最佳代理超时值,请考虑以下问题:
Proxy Server 是否要处理许多数据库查询或 CGI 脚本?
Proxy Server 所处理的请求数是否少到可以随时腾出进程?
如果对上述任一问题的回答是肯定的,则可以决定设置较高的代理超时值。建议的最高代理 timeout 值为 1 小时。默认值为 300 秒(5 分钟)。
通过访问 Server Manager 中 "Preferences" 选项卡下的 "Configure System Preferences" 页面,可以查看或修改代理超时值。使用 "Proxy Timeout" 来指代此参数。
timeout-2(中断后超时)- 中断后超时值指示 Proxy Server 在客户机退出事务后继续写入高速缓存文件的时间。换而言之,如果客户机在 Proxy Server 几乎已完成对文档的高速缓存时退出连接,则服务器可以继续对文档进行高速缓存,直至达到中断后超时值为止。
建议的最高中断后超时值为 5 分钟。默认值为 15 秒。
http-client-config 函数用于配置 Proxy Server 的 HTTP 客户机。
此函数的语法如下:
Init fn=http-client-config keep-alive=(true|false) keep-alive-timeout=seconds always-use-keep-alive=(true|false) protocol=HTTP Protocol proxy-agent="Proxy-agent HTTP request header"
这些设置包括:
always-use-keep-alive -(可选)布尔值,指示 HTTP 客户机是否可以对所有类型的请求重复使用现有持久性连接。默认值为 false,表示对于非 GET 请求或含有主体的请求,将不重复使用持久性连接。
protocol -(可选)HTTP 协议版本字符串。默认情况下,HTTP 客户机使用 HTTP/1.0 或 HTTP/1.1,具体取决于 HTTP 请求的内容。除非遇到特定的协议互操作性问题,否则不要使用 protocol 参数。
proxy-agent -(可选)代理服务器代理程序 (Proxy-agent) HTTP 请求标头的值。默认值为包含 Proxy Server 产品名和版本的字符串。
KeepAliveTimeout() 参数确定服务器使客户机与 Proxy Server 之间的 HTTP 保持活动连接或持久性连接处于打开状态的最长时间(以秒为单位)。默认值为 30 秒。如果闲置时间超过 30 秒,则连接会超时。最大值为 300 秒(5 分钟)。
magnus.conf 文件中的超时设置适用于客户机与 Proxy Server 之间的连接。obj.conf 文件内 http-client-config SAF 中的超时设置适用于 Proxy Server 与原始服务器之间的连接。