[AIX Solaris HP-UX Linux Windows]

调整 Linux 系统

本主题描述如何调整 Linux® 操作系统以优化 WebSphere® Application Server的性能。

有关此任务

遇到性能问题时,请检查操作系统设置以确定这些设置是否适合于您的应用程序。 由于 Linux 操作系统不是 WebSphere Application Server 产品,因此请注意它可能发生更改,结果可能有所不同。

过程

根据调整需求,配置下列设置和变量:
  • 更改 TCP 参数
    • 描述: Linux 提供了一些可调 TCP 参数,其缺省值可能足以用于 WebSphere Application Server。 在某些例外情况下,可能必须调整这些参数。 例如,您可能会减少特定状态(例如,TIME_WAIT)下套接字的数目、修改 TCP 保持活动操作或者修改其他功能。
    • 如何查看或设置:

      请参阅 Linux 分发版下的 "man tcp" 下提供的详细信息。

  • Linux 文件描述符 (ulimit)
    • 描述:指定支持打开的文件数。 通常,缺省设置适合于大多数应用程序。 如果将此参数值设置得太小,那么可能会显示文件打开错误、内存分配故障或连接建立错误。
    • 如何查看或设置: 检查 ulimit 命令上的 UNIX 参考页面以获取不同 shell 的语法。 要将 ulimit 命令设置为8000对于 KornShell shell (ksh) ,发出 ulimit -n 8000 命令。 使用 ulimit -a 命令来显示所有系统资源限制的当前值。
    • 缺省值: 对于 SUSE Linux Enterprise Server 9 (SLES 9) ,缺省值为1024.
    • 建议值:8000
在 Linux 中设置资源限制的注意事项

缺省情况下,典型 Linux 分发版中的许多资源限制设置为无限制,包括一些与内存相关的限制,例如 ulimit -vulimit -mulimit -d。 如果将这些限制设置得过低,那么可能会导致应用程序服务器发生故障。 因此,最佳实践是 保留或不更改 无限制的限制。

避免麻烦: 要设置特定限制,必须确保它满足每个进程的预期虚拟内存大小。 ps 输出的 VSZ 列显示 Java 进程的虚拟内存大小。 此列反映 JVM 直接使用的内存。 它还反映了 Java 堆所需的内存以及为进程中的每个线程分配的堆栈空间。
  • 连接储备
    • 描述:当由于入局连接请求比率过高而导致连接故障时,请更改下列参数:
      echo 3000 > /proc/sys/net/core/netdev_max_backlog
      echo 3000 > /proc/sys/net/core/somaxconn
      
  • 防火墙通常具有连接到期超时: 如果在超时时间间隔内连接上没有任何活动,那么将从防火墙路由表中除去该连接。 如果服务器之间的连接 (例如服务器与后端数据库之间的连接池) 被系统之间的防火墙超时,那么尝试复用连接失败,直到重新建立连接为止,从而导致错误和性能问题。 为了避免此类型的问题,可以将 TCP 保持活动功能配置为在短于防火墙超时的时间间隔内运行。 TCP keepalive 活动通知防火墙该连接仍在使用中,因此该连接不会到期并从防火墙表中清空。 要执行此调整,请首先确定防火墙连接到期超时。 网络管理员通常知道此信息。 接下来,设置以下三个 TCP 调整选项,以在比连接到期超时更短的时间间隔内运行 TCP 保持活动。 因此,对于 75 秒的防火墙连接到期超时,请设置 TCP 调整选项以在小于 75 秒的时间间隔内运行 TCP 保持活动。 将选项添加到/etc/sysctl.conf文件以继续重新启动。
  • TCP_KEEPALIVE_TIME
    • 描述: 确定第一次将套接字视为空闲并发送保持活动探测器之前的时间。
    • 如何查看或设置:发出以下命令来设置此值:
      echo 45 > /proc/sys/net/ipv4/tcp_keepalive_time
    • 缺省值:7200
    • 建议值: 小于任何防火墙空闲超时 (例如,45秒)
  • TCP_KEEPALIVE_INTERVAL
    • 描述:确定两次 isAlive 时间间隔探测之间的等待时间。
    • 如何查看或设置:发出以下命令来设置此值:
      echo 15 > /proc/sys/net/ipv4/tcp_keepalive_intvl
    • 缺省值:75
    • 建议值:15
  • TCP_KEEPALIVE_探针
    • 描述:确定超时前的探测次数。
    • 如何查看或设置:发出以下命令来设置此值:
      echo 5  > /proc/sys/net/ipv4/tcp_keepalive_probes
    • 缺省值:9
    • 建议值:5

结果

此调整过程可提高 WebSphere Application Server 在 Linux 操作系统上的性能。

下一步做什么?

在调整操作系统以提高性能后,请参阅其他调整主题以了解各种调整技巧。