性能调优之操作系统的调整

发表于:2009-09-03来源:作者:点击数: 标签:性能操作系统调整
性能调优之操作系统的调整 性能测试 操作系统调整的基本概念:合适的操作系统调整通过防止错误条件的发生而能改善系统的性能。操作系统的错误经常降低了系统的性能。最经常出现的错误是TCP相关的参数,这些参数经常会使操作系统产生如下的错误:调在调用clos

性能调优之操作系统的调整  性能测试

       操作系统调整的基本概念:合适的操作系统调整通过防止错误条件的发生而能改善系统的性能。操作系统的错误经常降低了系统的性能。最经常出现的错误是TCP相关的参数,这些参数经常会使操作系统产生如下的错误:调在调用close_wait之后不能释放旧的socket。通常的错误提示是服务器端有“connection refused”,“too many open files”这样的错误,而在客户端的错误为“address in use:connect”。

        大多数情况下,这些错误可以通过调整TCP的wait_time值和TCP队列大小来避免。下面是不同操作系统需要调整的参数。

1. Solaris 调整参数

1)使用ndd命令设置TCP的参数

下面是常用的TCP调整参数:

·  /dev/tcp tcp_time_wait_interval

·  /dev/tcp tcp_conn_req_max_q

·  /dev/tcp tcp_conn_req_max_q0

·  /dev/tcp tcp_ip_abort_interval

·  /dev/tcp tcp_keepalive_interval

·  /dev/tcp tcp_rexmit_interval_initial

·  /dev/tcp tcp_rexmit_interval_max

·  /dev/tcp tcp_rexmit_interval_min

·  /dev/tcp tcp_smallest_anon_port

·  /dev/tcp tcp_xmit_hiwat

·  /dev/tcp tcp_recv_hiwat

·  /dev/ce instance

·  /dev/ce rx_intr_time

        提示:使用netstat -s -P的tcp命令来查看所有可用的TCP参数。

        设置TCP相关的调整参数请使用ndd命令,如下例所示:

ndd -set /dev/tcp tcp_conn_req_max_q 16384

2)设置/etc/system文件的参数

        每个到服务器的socket连接都有一个文件描述符。为了优化socket的性能,需要配置操作系统拥有合适的文件描述符个数。因此,需要改变/etc/system 文件中的默认文件描述符限制,还有哈希表的大小和其他调整参数。

        注意:修改了/etc/system 文件的参数后需要重新启动机器才能生效

·  set rlim_fd_cur

·  set rlim_fd_max

·  set tcp:tcp_conn_hash_size

·  set shmsys:shminfo_shmmax   注意:只有机器至少有4G RAM才能设置该项 

·  set autoup

·  set tune_t_fsflushr

3)CE Gigabit网卡的设置

·  set ce:ce_bcopy_thresh

·  set ce:ce_dvma_thresh

·  set ce:ce_taskq_disable

·  set ce:ce_ring_size

·  set ce:ce_comp_ring_size

·  set ce:ce_tx_ring_size

其他Solaris调整信息:

·  Solaris Tunable Parameters Reference Manual (Solaris 8)

·  Solaris Tunable Parameters Reference Manual (Solaris 9)

·  Solaris Tunable Parameters Reference Manual (Solaris 10)

2 Liunx参数调整

主要调整的参数:

·  /sbin/ifconfig lo mtu

·  kernel.msgmni

·  kernel.sem

·  fs.file-max

·  kernel.shmmax

·  net.ipv4.tcp_max_syn_backlog

Ipsysctl Tutorial 1.0.4 描述了Liunx上的IP选项。

3 HP-UX参数调整

主要调整的参数:

·  tcp_conn_req_max

·  tcp_xmit_hiwater_def

·  tcp_ip_abort_interval

·  tcp_rexmit_interval_initial

·  tcp_keepalive_interval

更多HP-UX调整信息,请参考 Tunable Kernel Parameters

4 Windows参数调整

        Windows平台的默认设置一般是够用的,但是可能在重负载情况下会需要调整MaxUserPort和TcpTimedWaitDelay。这些参数决定了应用程序请求的端口的使用。

        默认的短期端口使用MaxUserPort参数在1024-5000之间分配。TcpTimedWaitDelay参数默认值是4m,该参数用来控制操作系统在关闭一个TCP连接后收回端口的等待时间。在重负在情况下,系统会超过这些限制而导致“address in use:connet ”异常。可以通过修改注册表键值来修改这两个参数。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters key:

MaxUserPort = dword:00004e20 (20,000 decimal)
TcpTimedWaitDelay = dword:0000001e (30 decimal)

可以增大MaxUserPort和减小TcpTimedWaitDelay。更多的信息可以参考:

Microsoft Windows 2000 TCP/IP Implementation Details.

Windows 2000 Performance Tuning

5.其他操作系统调整信息

·  AIX 调整信息:AIX 5L Version 5.2 Performance Management Guide.

·  用户进程的最大内存— 检查该系统规定的最大用户进程可使用的内存.有些操作系统这个值低于128 MB.关于内存管理的信息,可以参考 Tuning Java Virtual Machines (JVMs).

原文转自:http://www.ltesting.net