基于Linux的WebSphere性能调优与故障诊断

本文详述了Linux系统中WebSphere的性能调优,包括数据源配置、JVM大小优化、集群节点假死问题解决、session共享策略、监控方案,以及健康中心客户端连接问题。同时探讨了WAS的permsize设置、Process Server的手动垃圾清理、WCS8.0双节点Solr搭建、9080端口占用故障处理,并推荐了相关调优书籍和资源。
摘要由CSDN通过智能技术生成

一、关于was数据源等问题的配置

(1)关于was数据源连接池的最大、最小配置多大合适?怎样去计算?

(2)关于JVM的配置,64位系统,64位WAS,最值小和最大配置多大最优?怎样去计算?

(3)应用服务器线程池,怎么样配置最优? 怎样去计算?

(4)linux上安装was完成后,linux必须配置哪些参数,was性能最优?如果不配置的话,性能影响大吗


数据库连接池建议初始化调优10-100。was连接池参数说明及调优V1.0:http://www.webspherechina.net/Document/detail/tid/109707。下载地址:http://www.webspherechina.net/club/attachment.php?aid=MjE4OTd8YzljZjQ3ODN8MTQ3NDI4NDIzOXwyZDJhRVpxNXJ4M3EwWUJhNmFwQ21FZGV1b0w0QS9FaGJsdjRIZjJUZ3dTakpMaw%3D%3D
jvm  1024-3072,jvm,连接池的请参照文档,官方知识库有些文档,可以当做参考。
线程池 100-100。
linux最大文件打开数65536,打开core,用户最大进程数65536
这些都是一般情况下调整,具体的还需要结合实际情况,一般情况下,在系统上线之前,会做压力测试,包括并发测试、疲劳测试等等。在做测试的时候,会不断的调整并发量,压力的时长。这个时候根据每次测试时WAS的运行情况、已经压力测试的结果,会进行不断的调整直到一个满意的值。我在压力测试之前一般把PMI打开,级别是基本,然后每个WAS实例内存最小值为2G,最大值为4G,同时打开WAS的verbose gc。数据源最小值设置为10,最大值设置为50。web container设置为200。其他更多的调整,比如Linux的调整,你可以根据WebSphere Application Server Performance Cookbook里面的建议进行调整。由于文件比较大接近10M,你可以到IBM官网直接下载PDF格式的文件:https://publib.boulder.ibm.com/httpserv/cookbook/
每次压力测试以后,根据verbose gc的记录情况,PMI的记录情况,再进行针对性的调整。如果发现不是WAS的问题,还需要与开发人员一块对业务代码进行优化。
linux参数调整:

参数 

参数值  

  说明  

  nofiles 

  10000 

 允许打开的文件数。打开文件设置的缺省数目 (2000) 通常足以供大多数应用程序使用。如果对此参数设置的值太小,在打开文件或建立连接时就可能会出错。由于此值限制服务器进程可打开的文件描述符数(软限制)。  

  Nofiles_hard 

  10000  

允许打开的文件数。打开文件设置的缺省数目 (2000) 通常足以供大多数应用程序使用。如果对此参数设置的值太小,在打开文件或建立连接时就可能会出错。由于此值限制服务器进程可打开的文件描述符数(硬限制)。  

TCP_KEEPALIVE_INTERVAL  

 15

 当探测没有确认时,重新发送探测的频度。缺省是75秒。推荐设置为15.

TCP_KEEPALIVE_PROBES  

  5  

在认定连接失效之前,发送多少个TCP的keepalive探测包。缺省值是9。这个值乘以tcp_keepalive_intvl之后决定了,一个连接发送了keepalive之后可以有多少时间没有回应 推荐设置为5. 

  netdev_max_backlog

 

somaxconn  

  3000

 

3000

  

当由于入局连接请求比率过高而导致连接故障时,更改下列参数:  

echo 3000 >  /proc/sys/net/core/netdev_max_backlog

  

echo 3000 > /proc/sys/net/core/somaxconn




二、JVM大小的优化


先设置一个经验值,比如最小值2G,最大值4G,同时开启verbose gc。然后做压力测试,或者跑业务,跑一段时间以后根据gc日志再设置一个合理的JVM值。
1、GC日志是设置JVM大小时,最好的参考
2、我看到的很多生产环境GC都是开启的,如果追求极限性能肯定关闭了好
3、session复制是否打开与业务要求相关,性能是是确保业务正常的前提下再考虑的问题

新系统部署上线时,如何评估设置内存大小的合理性?
这个考虑的因素很多,比如,并发用户数,你的应用是不是吃大内存型的?比如要生成大的报表,要返回大的数据库结果集。
通常可以以压力测试来预估一个大致的值,然后再慢慢进行调整。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值