websphere优化配置.docx
《websphere优化配置.docx》由会员分享,可在线阅读,更多相关《websphere优化配置.docx(12页珍藏版)》请在冰点文库上搜索。
websphere优化配置
WAS配置概要
描述
参数
缺省值
设置原则
JVM堆栈
服务器>应用程序服务器>server1>Java虚拟机
无
最小值为总内存1/8,最大值为总内存1/2至3/4
连接池
资源>JDBC提供程序>(JDBC提供程序名)>数据源>(数据源名)>连接池属性
最小连接数:
10
最大连接数:
50
通过TPV监控连接池的大小变化曲线设置
语句高速缓存
资源>JDBC提供程序>(JDBC提供程序名)>数据源>(数据源名)>WebSphereApplicationServer数据源属性>语句高速缓存大小
10
比如实际情况下CPU利用率很高,并且表明有瓶颈,performanceadvisors报警提示preparestatement缓存丢弃率较高,这说明默认的值(10)太小,需要增加该值大小以提高吞吐
JMS池
资源JMS提供程序缺省消息传递JMS激活规范激活规范名
最大批次大小:
无
最大并发端点数:
无
根据实际情况分析
Web容器线程池
服务器>应用程序服务器>(服务器名)>
线程池>WebContainer
最小大小:
10
最大大小:
50
通过TPV监控Web容器线程池最大值(在可接受的相应时间范围内),根据此值进行设置
EJB缓存
服务器>应用程序服务器>(服务器名)>EJB告诉缓存设置>EJB缓存设置>高速缓存大小
高速缓存大小:
2053
清除时间间隔:
3000
比如通过TPV监控发现ejbStore()有很高的调用率并且CPU利用率很低,可以基于期望的最大的活动的EJB实例设置该值
Web服务器调整参数
WebSphereApplicationServer提供用于几个Web服务器品牌和版本的插件。
每个Web服务器操作系统组合都有特定的调整参数,这些参数可影响应用程序性能。
•IBMHTTPServer
IBMHTTPServerV6.0是多进程、多线程的服务器。
o访问日志
♣描述:
收集所有入局HTTP请求。
记录日志会降低性能,因为IO操作开销导致日志在短时间内显著增加。
♣如何查看或设置:
1.打开IBMHTTPServerhttpd.conf文件,它位于目录IBM_HTTP_Server_root_directory/conf中。
2.搜索含有文本CustomLog的行。
3.通过在行首放置#来注释掉此行。
4.保存并关闭httpd.conf文件。
5.停止并重新启动IBMHTTPServer。
♣缺省值:
启用记录每个入局HTTP请求。
♣建议值:
禁用访问日志。
oMaxClients
♣描述:
MaxClients伪指令控制Web服务器在任何时候可以提供的最大同步连接数或用户数。
使用处于峰值时,如果您的Web服务器需要立即支持200个活动用户,则应该把MaxClients设置为220(200加负载额外增长的10%)。
把MaxClients设置得太低会导致有些用户认为Web服务器不响应。
您在您的Web服务器中应该有足够的RAM来支持每个已连接的客户机。
对于Unix上的IBMHTTPServerV6.0,您应该分配大约1.5MBMaxClientsRAM供IBMHTTPServer使用。
对于Windows上的IBMHTTPServerV6.0,您应该分配大约300KBMaxClientsRAM供IBMHTTPServer使用。
有些第三方模块会显著地增加每台已连接客户机使用的RAM数。
♣如何查看或设置:
编辑IBMHTTPServerhttpd.conf文件中的MaxClients伪指令,该文件位于目录IBM_HTTP_Server_root_directory/conf中。
♣缺省值:
150
♣建议值:
通常同步连接到您的Web服务器的最大用户数,附加缓冲区另外的10%。
注:
KeepAliveTimeout设置会影响用户连接到Web服务器的时间长短。
oMinSpareServers、MaxSpareServers和StartServers
♣描述:
预分配和维护指定的进程数,以便当负载接近指定的进程数时创建和销毁不多的进程。
指定相似的值会减少用于创建和销毁HTTPD进程的CPU使用情况。
等待IBMHTTPServer启动更多服务器(以便它可处理HTTP请求)时调整此参数是不可接受的。
♣如何查看或设置:
编辑httpd.conf文件中的MinSpareServers、MaxSpareServers和StartServers伪指令,此文件位于IBM_HTTP_Server_root_directory/conf目录中。
♣缺省值:
MinSpareServers5、MaxSpareServers10、StartServers5
♣建议值:
要获得最佳性能,为MinSpareServers和StartServers参数指定相同的值。
如果MaxSpareServers设置成小于MinSpareServers,那么IBMHTTPServer复位MaxSpareServer=MinSpareServer+1。
把StartServers设置过高可导致内存不足时的交换,从而降低性能。
oListenBackLog
♣描述:
设置暂挂连接队列的长度。
当几个客户机请求连接到IBMHTTPServer并使用了所有线程时,有一个队列保留其他客户机请求。
然而,如果您使用Windows上的IBMHTTPServerV6.0的缺省快速响应高速缓存加速器(FRCA)功能,则因为FRCA有其自己的内部队列而不使用ListenBackLog伪指令。
♣如何查看或设置:
对于非FRCA:
编辑IBMHTTPServerhttpd.conf文件。
然后,添加或查看ListenBackLog伪指令。
♣缺省值:
对于HTTPServerV6.0:
1024启用了FRCA,511禁用了FRCA
♣建议值:
使用缺省值。
•IBMHTTPServer-Linux
oMaxRequestsPerChild
♣描述:
设置单个子服务器进程处理的请求数的限制。
在请求数达到为MaxRequestsPerChild参数设置的值后,子进程死亡。
当销毁和创建子进程时调整此参数会降低您的Web服务器性能。
♣如何查看或设置:
1.编辑IBMHTTPserverhttpd.conf文件,它位于IBM_HTTP_Server_root_directory/conf目录中。
2.更改参数的值。
3.保存更改并重新启动IBMHTTPserver。
♣缺省值:
500
♣建议值:
通常应该设置为0。
如果观察到子内存使用情况随时间的过去稳定地增长,则非零设置会有用。
有时在IBMHTTPServer使用的第三方模块和各种OS运行时库中会观察到内存泄漏。
•IBMHTTPServer-Windows2000和Windows2003
oThreadsPerChild
♣描述:
设置IBMHTTPServer中任何时刻运行的并发线程数。
♣如何查看或设置:
编辑IBMHTTPServer文件(httpd.conf文件),它位于目录IBM_HTTP_Server_root_directory/conf中。
更改参数的值。
保存更改并重新启动IBMHTTPServer。
有两种在欠载状态下查找使用多少线程的方法:
1.使用Windows2000和Windows2003性能监视器,它位于桌面“开始”菜单下:
a.右键单击桌面上的状态栏。
单击任务管理器。
b.选择进程选项卡。
c.单击查看>选择列。
d.选择线程计数。
e.单击确定。
进程选项卡在线程列名下显示每个进程的线程数(包括Apache)。
2.使用IBMHTTPServer服务器状态(此选项可在所有平台上使用,并不仅限Windows):
.按如下所示编辑IBMHTTPServerhttpd.conf文件:
从以下各行除去注释字符#:
#LoadModulestatus_module、modules/ApacheModuleStatus.dll、#、#SetHandlerserver-status和#。
a.保存更改并重新启动IBMHTTPServer。
b.在Web浏览器中,转至URL:
http:
//yourhost/server-status。
换句话说,
c.单击重新装入以更新状态。
d.(可选的)如果浏览器支持刷新,转至http:
//your_host/server-status?
refresh=5以每五秒刷新一次。
您将看到当前处理45个空闲服务器的五个请求。
♣缺省值:
对于IBMHTTPServerV6.0为250。
♣建议值:
设置该值以避免瓶颈,它允许有恰好足够的流量通过应用程序服务器。
oWeb服务器配置重新装入时间间隔
♣描述:
跟踪有关WebSphereApplicationServer资源的配置信息的变化。
Web服务器需要了解一些此类信息,如指向WebSphereApplicationServer资源的统一资源标识(URI)。
此配置数据是在由此参数指定的时间间隔中通过WebSphereApplicationServer插件推进到Web服务器中的。
定期更新添加新的servlet定义,而无须重新启动任何WebSphereApplicationServer服务器。
然而,动态重新生成此类配置信息在性能方面的代价很高。
在稳定的生产环境中调整此参数。
♣如何查看或设置:
使用“刷新配置时间间隔Web服务器插件”属性更改此参数的当前设置。
在管理控制台中,单击服务器>Web服务器>Web_server_name>插件属性。
♣缺省值:
缺省重新装入时间间隔为60秒。
♣建议值:
增加值的重新装入间隔,该值表示一个在servlet更新和Web服务器更新间的可接受的等待时间。
连接池设置
管理控制台页面可与一系列资源类型通用;例如,JDBC数据源和JMS队列连接工厂。
要查看此页面,根据资源的类型决定路径,但通常选择资源提供者的实例,然后选择资源类型的实例,并单击连接池。
例如:
单击资源>JDBC提供者>JDBC_provider>数据源>data_source>连接池。
“配置”选项卡
连接超时
指定时间间隔(以秒为单位),这个时间间隔过后连接请求超时并抛出ConnectionWaitTimeoutException。
此值表明空闲池中没有可用连接或无法创建新连接(通常这是因为特定连接池中的连接数达到了最大值)时,请求连接所等待的秒数。
例如,如果连接超时设置为300,并且最大连接数都在使用,则池管理器等待300秒以使物理连接可供使用。
如果物理连接在这段时间内不可用,则池管理器将产生ConnectionWaitTimeout异常。
通常,重试getConnection()方法没有用;如果需要更长的等待时间,您应该增加连接超时设置值。
如果应用程序捕捉到ConnectionWaitTimeout异常,那么管理员应该查看需要的应用程序连接池用法,并相应地调整连接池和数据库。
如果连接超时设置为0,则在连接变为可用之前,只要需要池管理器将一直等下去。
此情况发生在应用程序完成事务并将连接返回到池的时候,或发生在连接数降到最大连接值之下(允许创建新的物理连接)的时候。
如果最大连接数设置为0(允许无限多个物理连接数),则将忽略连接超时值。
数据类型整型
单位秒
缺省值180
范围0到最大整数
最大连接数
指定您可以在此池中创建的最大物理连接数。
这些是到后端资源的物理连接。
一旦达到此数,就不再创建新的物理连接,并且在当前使用的物理连接返回给池或产生ConnectionWaitTimeout异常之前,请求者将一直等下去。
例如,如果最大连接数的值设置为5,并已使用了5个物理连接,则池管理器等待连接超时中指定的时间,直至物理连接为空闲。
如果最大连接数设置为0,则允许连接池无限制地增长。
这也有导致连接超时值被忽略的副作用。
如果多个单机应用程序服务器使用同一数据源,则每个应用程序服务器有一个池。
如果使用克隆,则对于每个克隆,存在一个数据池。
配置数据库最大连接数时,了解数据池的个数很重要。
可使用TivoliPerformanceViewer查找池中最优连接数。
如果并发等待者的数目大于0,但是CPU负载未接近100%,则考虑增加连接池大小。
如果使用百分比值一直低于正常工作负载,则考虑减少池中的连接数。
数据类型整型
缺省值10
范围0到最大整数
最小连接数
指定要保持的最小物理连接数。
如果连接池的大小处于最小连接池大小或比它还小,则未使用超时线程不废弃物理连接。
但是,池不会只为了确保维持最小连接池大小而创建连接。
同样,如果您设置时效超时值,则废弃时效到期的连接,而无论最小池大小设置是什么。
。
数据类型整型
缺省值1
范围0到最大整数
收集时间
指定运行池维护线程之间的时间间隔(以秒为单位)。
例如,如果“收集时间”设置为60,则池维护线程每60秒运行一次。
收集时间时间间隔影响未使用超时和时效超时设置的准确度。
时间间隔越小,准确度越大。
如果启用了池维护线程,则您应该将“收集时间”值设置为小于“未使用超时”和“时效超时”的值。
当池维护线程运行时,它废弃所有未使用的时间长于“未使用超时”中指定的时间值的连接,直到它到达最小连接数中指定的连接数为止。
池维护线程还废弃所有活动时间长于“时效超时”中指定的时间值的连接。
收集时间间隔还影响性能。
更短的时间间隔意味着池维护线程将更频繁的运行并降低性能。
要禁用池维护线程,“收集时间”设置为0,或“未使用超时”和“时效超时”都设置为0。
禁用池维护线程的建议方法是将“收集时间”设置为0,在这种情况下,将忽略“未使用超时”和“时效超时”。
但是,如果“未使用超时”和“时效超时”都设置为0,则池维护线程将运行,但是仅废弃由于非零超时值引起的超时的物理连接。
数据类型整型
单位秒
缺省值180
范围0到最大整数
未使用超时
指定废弃未使用的或空闲连接后的时间间隔,以秒为单位。
为了优化性能,设置“未使用超时”值高于“收集超时”值。
如果当前连接数超过最小连接数设置,则仅废弃未使用的物理连接。
例如,如果未使用超时值设置为120,并且启用池维护线程(收集时间不是0),则将废弃两分钟没有使用的任何物理连接。
注意,这个超时和性能的准确度都受到“收集时间”值的影响。
请参阅“收集时间”以获取更多信息。
数据类型整型
单位秒
缺省值1800
范围0到最大整数
时效超时
指定废弃物理连接前的时间间隔(以秒为单位)。
将时效超时设置为0支持活动的物理连接无限制地保留在池中。
为了优化性能,设置“时效超时”值高于“收集超时”值。
例如,如果“时效超时”设置为1200,并且“收集时间”不是0,则从池中废弃已经存在1200秒(20分钟)的所有物理连接。
注意,这个超时和性能的准确度都受到“收集时间”值的影响。
请参阅“收集时间”以获取更多信息。
数据类型整型
单位秒
缺省值0
范围0到最大整数
数据源设置
创建与JDBC提供者关联的数据源。
将数据源想象成一组必须用于管理应用程序和数据库间事务的共享连接。
要查看此管理控制台页面,单击资源>JDBC提供者>JDBC_provider>数据源>新建(如果要创建新的数据源)或者>data_source(如果您要查看建立的数据源)。
注:
如果应用程序使用EnterpriseJavaBean(EJB)1.1或JavaServlet2.2模块,则您必须使用数据源(V4)>data_source控制台页面。
“配置”选项卡
名称
指定数据源的显示名称。
此名称的有效字符包括字母和数字,但并不包含多数特殊字符。
例如,您可将该字段设置为测试数据源。
但任何以句点(•)开头或包含特殊字符(\/,:
;"*?
<>|=+&%'`)的名称都不是有效名称。
JNDI名称
指定Java命名和目录接口(JNDI)名称。
分布式计算环境经常使用命名和目录服务来获取共享组件和资源。
命名和目录服务将名称与位置、服务、信息和资源关联起来。
命名服务提供名称到对象映射。
目录服务提供对象的信息和定位那些对象所需的搜索工具。
有很多命名和目录服务实施,它们的接口也各不相同。
JNDI提供用于访问各种命名和目录服务的公共接口。
例如,您可使用名称jdbc/markSection。
如果您将此字段保留为空白,则将从数据源的名称生成一个JNDI名称。
例如,markSection的数据源名称生成jdbc/markSection的JNDI名称。
设置此值后,将它保存并重新启动服务器,当您运行转储名称空间工具时,您可以看到此字符串。
容器管理的持久性
指定此数据源是否用于Enterprisebean的容器管理的持久性。
如果选取此字段,则为关系资源适配器创建与此数据源相应的CMP连接器工厂。
数据类型复选框
缺省启用(字段已选取。
)
描述
指定资源的文本描述。
数据类型字符串
类别
指定可用于分类或分组资源的类别字符串。
数据类型字符串
数据存储器helper类名
指定DataStoreHelper实施类的名称,该类可扩展您所选的JDBC驱动程序实施类的能力以执行数据库特定的功能。
WebSphereApplicationServer为每个它所支持的JDBC提供者驱动程序提供一组DataStoreHelper实施类。
这些实施类在包com.ibm.websphere.rsadapter中。
例如,如果JDBC提供者是DB2,则缺省DataStoreHelper类是com.ibm.websphere.rsadapter.DB2DataStoreHelper。
然而,您正在查看的管理控制台页面可能使多个DataStoreHelper类名在下拉列表中可用;确保选择一个您的数据库配置所需的类名。
否则,您的应用程序可能不能正确地运行。
如果您要使用不在下拉列表中显示的DataStoreHelper,则选择指定用户定义的DataStoreHelper并输入标准类名。
请参阅信息中心主题“示例:
开发您自己的DataStoreHelper类。
”
数据类型下拉列表或字符串(如果选择了用户定义的DataStoreHelper)
重要数据源属性
这些属性特定于与您所选的JDBC提供者相关的数据源。
它们是数据源所需的,或对于数据源特别有用。
您可以在信息中心中的主题“特定于供应商的数据源最小必需设置”中找到所有支持的JDBC提供者所需的完整属性列表。
组件管理的认证别名
此别名用于运行时的数据库认证。
仅当应用程序资源引用在使用res-auth=Application时才使用组件管理的认证别名。
如果您的数据库(例如Cloudscape)不支持用户标识和密码,则不要在“组件管理的认证别名”字段或“容器管理的认证别名”字段中设置别名。
否则,您在系统日志中会看到警告消息,表明用户和密码不是有效属性。
(此消息仅为警告消息;创建数据源仍成功。
)
如果您未设置别名(组件管理的或其他),而您的数据库要求用户标识和密码获取连接,则您在运行时期间接收到异常。
数据类型下拉列表
容器管理的认证别名(不推荐)
为到资源的容器管理的登录指定认证数据(转换到用户标识和密码的字符串路径)。
注:
从WebSphereApplicationServerV6.0开始,对于res-auth=Container的组件,容器管理的认证别名由部署时有关资源引用映射的登录配置规范来取代。
从安全性>JAAS配置>J2C认证数据下定义的别名中选择。
要定义还未出现在选取列表中的新别名:
•单击应用陈列“相关项”。
•单击J2C认证数据条目。
•定义别名。
•单击位于J2C认证数据条目页面顶部的连接工厂名称,返回到连接工厂页面。
•选择别名。
数据类型下拉列表
映射配置别名(不推荐)
允许用户从安全性>JAAS配置>应用程序登录配置列表中进行选择。
注:
从WebSphereApplicationServerV6.0开始,对于res-auth=Container的组件,映射配置别名由部署时有关资源引用映射的登录配置规范来取代。
DefaultPrincipalMappingJAAS配置将认证别名映射到用户标识和密码。
您可定义和使用其他映射配置。
数据类型下拉列表
用于XA恢复的认证别名
此可选字段用于指定应该在XA恢复处理期间使用的认证别名。
如果资源适配器不支持XA事务,则不会显示此字段。
缺省值将来自所选的应用程序认证别名(如果指定)。
使用组件管理的认证别名
选择此单选按钮指定在XA恢复时使用为组件管理的认证设置的别名。
数据类型单选按钮
指定:
选择此单选按钮使您能从已配置别名的下拉列表中选择认证别名。
数据类型单选按钮
线程池设置
使用此页面配置应用程序服务器使用的线程组。
请求通过任何HTTP传输通道或HTTP传输方法发送到服务器。
线程池使服务器的组件能重用线程以消除在运行时创建新线程的需要。
创建新的线程消耗的时间和资源。
要查看此管理控制台页面,单击服务器>应用程序服务器>server_name>线程池,然后选择线程池。
(您可以通过多个导航路由获取此页面。
)
“配置”选项卡
最小大小
指定池中允许的最小线程数。
数据类型整型
缺省值10
最大大小
指定池中允许的最大线程数。
如果TivoliPerformanceViewer显示最大百分比度量值以始终保持在双精度数字,则考虑增加最大大小。
最大百分比度量值表明使用已配置线程的时间数。
如果存在多台并发客户机连接到服务器端ORB,增加大小以支持最多达1000台客户机。
数据类型整型
缺省值50
建议50(Linux系统上25个)
线程不活动超时
指定在收回线程之前应该经过的不活动的毫秒数。
为0的值表明不等待而负值(小于0)