调优Linux及Websphere调优资料整理
【IT168 技术文档】调优 Linux
您可能需要定制 Linux 系统,以提高服务器的性能。 下面,将向您介绍调整配置的技巧。 请牢记,这些系统可能会变化,从而导致这些建议过时,并导致您的结果有所不同。
在您为改善性能而进行任何更改之前,请确保已经对当前性能进行了度量。不管您是否关心事务执行速度、响应时间、最大并发用户数或其他一些性能条件,都需要在更改前后,进行足够准确地度量,以了解更改调优参数是否有效。
timeout_timewait 参数
timeout_timewait 值确定了在 TCP/IP 可释放已关闭的连接并复用其资源之前,必须等待的时间。 关闭和释放之间的时间间隔称为 TIME_WAIT 状态或最长分段生命周期的两倍(2MSL)状态。 在此期间,重新打开客户机和服务器之间的连接比新建一个连接的开销要小。 通过减小该项的值,TCP/IP 可更快地释放已关闭的连接,并可为新连接提供更多的资源。 如果由于多个连接处于 TIME_WAIT 状态导致吞吐量较低,从而正在运行的应用程序需要快速释放连接、创建新的连接或是进行调整,请调整这个参数。
缺省值是 240 秒(4 分钟)。
最小推荐值是 30 秒。 请使用以下过程来查看或定制您的值。
echo X > /proc/sys/net/ipv4/tcp_fin_timeout
其中 X 由期望的秒数替换。
connection backlog
可能需要提高连接储备值,以应对大量突发入局连接请求的情况。 如果同时接收到大量连接请求,使用较大的值会提高受支持的暂挂连接的数量,从而可减少连接失败的数量。
请使用以下过程来查看或定制您的值。
echo X > /proc/sys/net/core/netdev_max_backlogecho X > /proc/sys/net/core/somaxconn
其中 X 大于在预期的突发入局请求中出现的最大连接请求数。
tcp_keepalive_time
tcp_keepalive_time 值控制 TCP/IP 尝试验证空闲连接是否完好的频率。 如果这段时间内没有活动,则会发送保持活动信号。 如果网络工作正常,而且接收方是活动的,它就会响应。 如果需要对丢失接收方敏感,换句话说,需要更快地发现丢失了接收方,请考虑减小这个值。 如果长期不活动的空闲连接出现次数较多,而丢失接收方的情况出现较少,您可能会要提高该值以减少开销。
缺省情况下,如果空闲连接 7200 秒(2 小时)内没有活动,Linux 就发送保持活动的消息。 通常,1800 秒是首选值,从而一半的已关闭连接会在 30 分钟内被检测到。
请使用以下过程来查看或定制您的值。
echo X > /proc/sys/net/ipv4/tcp_keepalive_time
其中 X 由期望的秒数替换。
tcp_keepalive_intvl 值
tcp_keepalive_intvl 值定义了如果未从接收方收到保持活动消息的响应,TCP/IP 重复发送保持活动信号的频率。 当连续发送保持活动信号、但未收到响应的次数超出 tcp_keepalive_probes 的值时,会放弃该连接。 如果期望较长的响应时间,您可能需要提高该值以减少开销。 如果需要减少花在验证接收方是否已丢失上的时间,请考虑减小该值或 tcp_keepalive_probes 值。
缺省情况下,在未收到响应而重新发送保持活动的消息之前,Linux 会等待 75 秒。 通常,15 秒是首选值,以便能够较快地检测到丢失了接收方。
请使用以下过程来查看或定制您的值。
echo X > /proc/sys/net/ipv4/tcp_keepalive_intvl
其中 X 由期望的秒数替换。
tcp_keepalive_probes 值
tcp_keepalive_probes 值定义了 TCP/IP 通过现有连接重新发送未返回应答的保持活动的消息次数。 如果您的网络性能很差,可能需要提高该值以保持有效的通信。 如果您的网络性能很好,可以减小该值以减少验证接收方是否丢失所花费的时间。
缺省情况下,在决定放弃该连接之前,Linux 会发送 9 次未返回应答的保持活动的消息。 通常,5 次是首选值,以便能够较快地检测到丢失了接收方。
请使用以下过程来查看或定制您的值。
echo X > /proc/sys/net/ipv4/tcp_keepalive_probes
其中 X 由在未返回应答的情况下,期望的用于保持活动的重新传输的次数替换。
大页面支持
使用大页面支持来管理虚拟存储器可降低管理 JAVA 虚拟机中大型堆所产生的 CPU 开销。 要使用这种支持,您必须配置系统以支持大页面,并在启动虚拟机时指定 -Xlp JVM 选项。
启用大页面支持的步骤取决于您使用的 Linux 分发版。 通常,您将编辑 sysctl.conf 文件并
设置保存最大 Java 堆所需的大页面的数量
设置用于保存最大 Java 堆的最大共享分段的大小
设置用于保存最大 Java 堆的共享内存的总数
然后将程序重新定位到一个较低的虚拟内存地址,以为较大的堆提供更多的地址空间。
您可能需要定制 Linux 系统,以提高服务器的性能。 下面,将向您介绍调整配置的技巧。 请牢记,这些系统可能会变化,从而导致这些建议过时,并导致您的结果有所不同。
在您为改善性能而进行任何更改之前,请确保已经对当前性能进行了度量。不管您是否关心事务执行速度、响应时间、最大并发用户数或其他一些性能条件,都需要在更改前后,进行足够准确地度量,以了解更改调优参数是否有效。
timeout_timewait 参数
timeout_timewait 值确定了在 TCP/IP 可释放已关闭的连接并复用其资源之前,必须等待的时间。 关闭和释放之间的时间间隔称为 TIME_WAIT 状态或最长分段生命周期的两倍(2MSL)状态。 在此期间,重新打开客户机和服务器之间的连接比新建一个连接的开销要小。 通过减小该项的值,TCP/IP 可更快地释放已关闭的连接,并可为新连接提供更多的资源。 如果由于多个连接处于 TIME_WAIT 状态导致吞吐量较低,从而正在运行的应用程序需要快速释放连接、创建新的连接或是进行调整,请调整这个参数。
缺省值是 240 秒(4 分钟)。
最小推荐值是 30 秒。 请使用以下过程来查看或定制您的值。
echo X > /proc/sys/net/ipv4/tcp_fin_timeout
其中 X 由期望的秒数替换。
connection backlog
可能需要提高连接储备值,以应对大量突发入局连接请求的情况。 如果同时接收到大量连接请求,使用较大的值会提高受支持的暂挂连接的数量,从而可减少连接失败的数量。
请使用以下过程来查看或定制您的值。
echo X > /proc/sys/net/core/netdev_max_backlogecho X > /proc/sys/net/core/somaxconn
其中 X 大于在预期的突发入局请求中出现的最大连接请求数。
tcp_keepalive_time
tcp_keepalive_time 值控制 TCP/IP 尝试验证空闲连接是否完好的频率。 如果这段时间内没有活动,则会发送保持活动信号。 如果网络工作正常,而且接收方是活动的,它就会响应。 如果需要对丢失接收方敏感,换句话说,需要更快地发现丢失了接收方,请考虑减小这个值。 如果长期不活动的空闲连接出现次数较多,而丢失接收方的情况出现较少,您可能会要提高该值以减少开销。
缺省情况下,如果空闲连接 7200 秒(2 小时)内没有活动,Linux 就发送保持活动的消息。 通常,1800 秒是首选值,从而一半的已关闭连接会在 30 分钟内被检测到。
请使用以下过程来查看或定制您的值。
echo X > /proc/sys/net/ipv4/tcp_keepalive_time
其中 X 由期望的秒数替换。
tcp_keepalive_intvl 值
tcp_keepalive_intvl 值定义了如果未从接收方收到保持活动消息的响应,TCP/IP 重复发送保持活动信号的频率。 当连续发送保持活动信号、但未收到响应的次数超出 tcp_keepalive_probes 的值时,会放弃该连接。 如果期望较长的响应时间,您可能需要提高该值以减少开销。 如果需要减少花在验证接收方是否已丢失上的时间,请考虑减小该值或 tcp_keepalive_probes 值。
缺省情况下,在未收到响应而重新发送保持活动的消息之前,Linux 会等待 75 秒。 通常,15 秒是首选值,以便能够较快地检测到丢失了接收方。
请使用以下过程来查看或定制您的值。
echo X > /proc/sys/net/ipv4/tcp_keepalive_intvl
其中 X 由期望的秒数替换。
tcp_keepalive_probes 值
tcp_keepalive_probes 值定义了 TCP/IP 通过现有连接重新发送未返回应答的保持活动的消息次数。 如果您的网络性能很差,可能需要提高该值以保持有效的通信。 如果您的网络性能很好,可以减小该值以减少验证接收方是否丢失所花费的时间。
缺省情况下,在决定放弃该连接之前,Linux 会发送 9 次未返回应答的保持活动的消息。 通常,5 次是首选值,以便能够较快地检测到丢失了接收方。
请使用以下过程来查看或定制您的值。
echo X > /proc/sys/net/ipv4/tcp_keepalive_probes
其中 X 由在未返回应答的情况下,期望的用于保持活动的重新传输的次数替换。
大页面支持
使用大页面支持来管理虚拟存储器可降低管理 JAVA 虚拟机中大型堆所产生的 CPU 开销。 要使用这种支持,您必须配置系统以支持大页面,并在启动虚拟机时指定 -Xlp JVM 选项。
启用大页面支持的步骤取决于您使用的 Linux 分发版。 通常,您将编辑 sysctl.conf 文件并
设置保存最大 Java 堆所需的大页面的数量
设置用于保存最大 Java 堆的最大共享分段的大小
设置用于保存最大 Java 堆的共享内存的总数
然后将程序重新定位到一个较低的虚拟内存地址,以为较大的堆提供更多的地址空间。
0
相关文章