Websphere之调整 Linux 系统

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

过程
根据调整需求,配置下列设置和变量:
  • timeout_timewait 参数
    • 描述: 确定 TCP/IP 在释放已关闭的连接并再次使用其资源前必须经过的时间。关闭与释放之间的这段时间称为 TIME_WAIT 状态或者两倍最大段生存期(2MSL)状态。此时间期间,重新打开到客户机和服务器的连接的成本少于建立新连接。通过减少此条目的值,TCP/IP 可以更快地释放关闭的连接,并为新连接提供更多资源。如果正在运行的应用程序需要快速释放连接、创建新的连接,并且因为许多连接处于 TIME_WAIT 状态而导致低吞吐量,那么调整此参数。
    • 如何查看或设置:

      发出以下命令,将 timeout_timewait 参数设置为 30 秒:

      echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
  • SUSE Linux Enterprise Server 8(SLES 8)SP2A - sched_yield_scale 调整
    • 描述: Linux 调度程序对上下文切换过度非常敏感,因此,已将修订包集成到 SLES 内核分发中,以便在线程发生处理时引入延迟。在 SLES 8 SP3 中将自动启用此修订包,但在 SLES 8 SP2A 或更高版本中,必须明确地启用它。
    • 如何查看或设置:
      1. 将 SLES 8 service pack 升级到 SP2A。
      2. 发出 sysctl -w sched_yield_scale=1 命令。
    • 缺省值: 0
    • 建议值: 1
  • RedHat Advanced Server 2.1 内核更新
    • 描述: RedHat Advanced Server 2.1 的内核更新已实现了影响 WebSphere Application Server 性能(尤其是内存到内存 HTTP 会话复制性能)的更改。
    • 如何查看或设置:
      1. 发出 uname -a 命令
      2. 如果正在运行 2.4.9-e.23 之前的任何内核,请至少升级到 RedHat Advanced Server 2.1 内核,最好升级到受支持的最新内核。
    • 缺省值: 2.4.9-e.3
    • 建议值: 2.4.9-e.23
  • Linux 文件描述符(ulimit)
    • 描述: 指定支持打开的文件数。通常,缺省设置适合于大多数应用程序。如果将此参数值设置得太小,那么可能会显示文件打开错误、内存分配故障或连接建立错误。
    • 如何查看或设置: 请参阅有关 ulimit 命令的 UNIX 参考页面以了解不同 shell 的语法。对于 KornShell shell(ksh)程序,要将 ulimit 命令设置为 8000 ,请发出 ulimit -n 8000 命令。使用 ulimit -a 命令来显示所有系统资源限制的当前值。
    • 缺省值: 对于 SUSE Linux Enterprise Server 9(SLES 9),缺省值是 1024
    • 建议值: 655360
  • 连接储备
    • 描述: 当由于入局连接请求比率过高而导致连接故障时,请更改下列参数:
      echo 3000 > /proc/sys/net/core/netdev_max_backlog
      echo 3000 > /proc/sys/net/core/somaxconn
      
  • TCP_KEEPALIVE_INTERVAL
    • 描述: 确定两次 isAlive 时间间隔探测之间的等待时间。
    • 如何查看或设置: 发出以下命令来设置此值:
      echo 15 > /proc/sys/net/ipv4/tcp_keepalive_intvl
    • 缺省值: 75
    • 建议值: 15
  • TCP_KEEPALIVE_PROBES
    • 描述: 确定超时前的探测次数。
    • 如何查看或设置: 发出以下命令来设置此值:
      echo 5  > /proc/sys/net/ipv4/tcp_keepalive_probes
    • 缺省值: 9
    • 建议值: 5
  • 为 Java 虚拟机(JVM)堆分配大页(针对 SLES 9 测试)

    某些应用程序要求使用非常大的堆以提高性能。通过使用 CPU 和操作系统提供的“大页”支持,可以降低 CPU 管理大型堆的开销。以下示例假定大页大小为 4MB,并且期望的堆大小为 2300MB。

    1. 通过 sysctl.conf 文件(此文件通常是 /etc/sysctl.conf )设置下列三个设置。
      注: 您必须具有 root 用户访问权才能修改此文件。并且,在尝试修改此文件前,请验证此文件是否是只读的。
      1. 通过发出以下命令,设置大页数(2300MB = 575 * 4MB):
        vm.nr_hugepages = 575
      2. 通过发出以下命令,将最大共享段大小设置为 2300MB 加上一个较小的增量(大约 95MB)(2511724800 = 2300MB * 1048576 字节/MB + 100000000 字节):
        kernel.shmmax = 2511724800
        
      3. 通过发出以下命令,设置要共享的总内存量:
        kernel.shmall = 2511724800
        
    2. 注:以上的内存根据应用的服务器进行调整,这里只给出了一种调整策略。
    3. 指定 -Xlp JVM 选项,以使 JVM 堆能够利用大页。
    4. 将 Xmx JVM 选项设置为 2300MB
    5. 将程序文本重新定位到较低的虚拟内存地址(0x10000000)中,从而为较大的堆提供更多地址空间。在 SUSE Linux Enterprise Server 9 上,请运行以下命令来重新定位 JVM 调用脚本或 .profile 文件中的文本:
      echo "0x10000000" > /proc/self/mapped_base
结果
此调整过程提高了 Linux 操作系统上 WebSphere Application Server 的性能。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值