操作系统调整
按照操作系统文档调整操作系统。对于 Windows 平台,其默认设置通常已经够用。但对于 Solaris 和 Linux 平台,通常需要作相应调整。下面几部分描述了与操作系统性能相关的问题:
基本 OS 调整概念
适当的 OS 调整可阻止错误情况的发生,从而提高系统的性能。操作系统错误总会造成性能降级。通常,大多数错误情况与 TCP 调整参数有关,而且是因为操作系统未能从close_wait
调用中释放旧的套接口引起的。常见错误是服务器端的“拒绝连接
”、“打开的文件太多
”和客户端的“正在使用的地址:连接
”。
大多数情况下,可以通过调整 TCPwait_time
值和 TCP 队列大小来阻止这些错误的发生。当用户使用隧道时,虽然经常需要进行调整,但是 OS 调整对于极重负载下的任何协议可能都是必要的。下面几部分提供了为各种操作系统调整参数的信息。
Solaris 调整参数
使用 ndd 命令设置 TCP 参数
使用 ndd
命令,设置下列与 TCP 相关的调整参数,如下例所述:
ndd -set /dev/tcp tcp_conn_req_max_q 16384
注意: | Solaris 2.7 版本之前,tcp_time_wait_interval 参数称为 tcp_close_wait_interval 。此参数决定在发出关闭调用后 TCP 套接口保持活动的时间间隔。在 Solaris 上,此参数的默认值是四分钟。当有许多客户在短时间段内连接时,保留这些套接口资源可能对性能产生显著的负面影响。当在 Solaris 上运行基准 JSP 测试时,将此参数的值设置为 60000(60 秒),吞吐量方面就已显现出了显著的增强。如果服务器对队列中的半开连接进行备份,那么您可能希望进一步降低此设置值。 |
提示:使用netstat -s -P tcp
命令可查看所有可用的 TCP 参数。
在 /etc/system 文件中设置参数
每个到服务器的套接口连接都使用一个文件描述符。要优化套接口的性能,需要配置操作系统以拥有适当数量的文件描述符。因此,需要将/etc/system
文件中的默认的文件描述符限制,以及散列表大小和其他调整参数更改为下表中的推荐值。
注意: | 每次修改 /etc/system 参数后都必须重新启动计算机。 |
CE Gigabit 网卡设置
如果正在使用 CE gigabit 卡,我们推荐使用下列设置。
有关 Solaris 调整选项的更多信息,请参阅http://docs.sun.com/app/docs。
Linux 调整参数
就 Linux 操作系统而言,为了获得最佳性能,推荐使用下列设置。
有关 Linux 调整的更多信息,需参考 Linux 供应商提供的文档。Ipsysctl Tutorial 1.0.4 也描述了 Linux 提供的所有 IP 选项。
HP-UX 调整参数
就 HP-UX 操作系统而言,为了获得最佳性能,推荐使用下列 TCP 设置。
有关 HP-UX 调整的更多信息,请参阅Tunable Kernel Parameters 参考文档。
Windows 调整参数
对于 Windows 平台,其默认设置通常已经够用。但是,在极重负载下,可能需要调整MaxUserPort
和 TcpTimedWaitDelay
。这些参数决定应用程序请求的用户端口的可用性。
默认情况下,使用 MaxUserPort
参数,在值 1024 和 5000 之间(包括 1024 和 5000)对短暂(也就是短期的)端口进行分配。TcpTimedWaitDelay
参数控制应用程序关闭 TCP 连接后 OS 回收端口所需要等待的时间,默认值为 4 分钟。在重负载中,可能会超过这些限制,并导致“正在使用的地址:连接”
异常。如果遇到“正在使用的地址:连接”
异常,请尝试在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
键下设置MaxUserPort
和 TcpTimedWaitDelay
注册表值:
MaxUserPort = dword:00004e20(用十进制表示为 20,000) TcpTimedWaitDelay = dword:0000001e(用十进制表示为 30)
有关 Windows 2000 调整选项的详细信息,请参阅:
原文参考地址:
http://edocs.weblogicfans.net/wls/docs92/perform/OSTuning.html
http://docs.oracle.com/cd/E13222_01/wls/docs100/perform/OSTuning.html#wp1126955