weblogic配置结点管理器实现远程启动
1 .受管服务器的配置同《weblogic配置集群和代理服务器》文中所述。
2.在控制台->计算机->配置新的计算机。可以修改计算机名称然后选择节点管理器属性页修改昨听地址和监听端口然后选择服务器属性页选择在此计算机上运行的受管服务器然后应用。
3.选择控制台->服务器中的要远程启动的服务器再选择远程启动属性页根据实际情况修改上面的值。
4.在%WL_HOME%/common/nodemanager目录下找到nodemanager.hosts将结点服务器的地址加进去。
5.启动%WL_HO ME%/server/bin下的startNodeManager.cmd 可根据具体需求修改脚本
6.现在你可以通过服务器->控制->启动/停止属性页远程启动此服务器了。
优化WebLogic服务器性能参数
We b Log ic配置文件co nfig.xm l包含了大量很直观的与性能有关的参数能通过配置环境与应用程序得到很好的优化。基于系统的需要调整这些参数不仅能改善单个点的性能而且能提高整个应用程序性能的可衡量性。
试着采用下列WebLogic配置方法或许能使你的系统达到最佳状态
一修改运行队列线程数的值。在WebLogic中队列元素的线程数等于同时占用运行队列的应用程序的数目。当任务加入一个WebLogic实例它就被放到执行队列中然后分配给任务一个线程来运行。线程消耗资源因此要小心处理这个属性——增加不需要的值会降低性能。
二如果可能使用自带的性能包NativeIOEnabled=true 。
三使用特定的应用程序执行队列。
四使用JDBC连接池时修改下列属性n 驱动名称使用小的驱动或者jDriver。n 初始容量设为与最大容量相同的值。n 最大容量其值至少应与线程数相同。
五把连接池的大小设为与执行队列的线程数相同。
六设置缓冲。
七为Servlet和JSP使用多个执行队列。
八改变JSP默认的Java编译器 javac比jikes或sj要慢。
优化WebLogic
提要n 为WebLogic启动设置Java参数。n 设置与性能有关的配置参数。n 调整开发与产品模式默认值。n 使用WebLogic“自有的IO”性能包。n 优化默认执行队列线程。n 优化连接缓存。n 如何提高JDBC连接池的性能。n 设置Java编译器。n 使用WebLogic集群提高性能。n 监视WebLogic域。
一、为WebLogic启动设置Java参数
只要启动WebLogic就必须指定Java参数简单来说通过
WebLogic.Server域的命令行就可以完成不过 由于这样启动的过程冗长并且易于出错 BEA公司推荐你把这个命令写进脚本里。为了简化这个过程你可以修改样例脚本里的默认值样例脚本是提供WebLogic启动服务器的。
如果你用配置向导创建你的域WebLogic启动脚本startWebLogic.cmd放在domain-name目录里。默认情况下这个目录
是BEA_HOME/user_projects/domain/domain-name BEA_HOME表示安装路径 domain-name是在配置模板中设置的域名称。
你需要在这个脚本中修改一些默认的Java参数值使之适合你的应用环境和程序。在这个文件中主要的性能参数是JAVA_HOME和Java堆的大小。n 设JAVA_HOME的值为JDK所在的位置如set JAVA_HOME=C:/bea/jdk141_03n 为得到高性能的吞吐量把Java堆的最小值与最大值设为相等。如
"%JAVA_HOME%/bin/java" -hotspot -Xms512m-Xmx512m
-classpath%CLASSPATH%-
二、设置与性能有关的配置参数
在一个WebLogic域中配置文件confi g.xml位于与管理服务器通信的机器里提供WebLogicMBean的长期存储。管理服务器作为连接的中心点为服务实例与系统管理工具提供服务。域也可以包括其他的WebLogic实例称之为从服务主要为应用程序提供服务。
当启动管理服务器是首先读域配置文件然后跳过建立在配置文件中管理MBean默认的属性值每一次用系统管理工具不管是命令行界面还是管理控制台改变一个属性值它都会被存到相应的管理MBean并且写进配置文件。
下表列出了confi g.xml文件中影响服务器性能的参数。
三、调整开发模式与产品模式默认值
你可以指定域为开发环境或为产品环境。WebLogic会根据你指定的环境类型使用不同的默认值提供不同的服务。
下表列出了两种模式下的默认值
优化参数 开发模式 产品模式
MaxCapacity connections connections
3 1更改运行时模式
在创建了一个域后按下列步骤可以更改域里所有服务的的运行时模式
1 为更改运行在一个WebLogic主机上的所有域的运行时模式用文本编辑器打开WL_HOME/common/bin/commEnv.cmd(Windows)或者
WL_HOME/common/bin/commEnv.sh(UNIX)WL_HOME是安装WebLogic的路径。
为指定的域更改运行时模式就用文本编辑器打开domain-name/StartWebLogic.cmd (Windows)ordomain-name/StartWebLogic.sh(UN IX) domain-name为创建的域的目录。
2在这个脚本中更改PRODUCTION_MODE的值如果你要服务器运行在产品模式指定其值为TRUE。
3重启所有的服务器。
3 2两种模式的不同
下表列出了开发模式与产品模式几种关键项的区别
程序Rota
Execute 默认的执行线程为15。 默认的执行线程为25。
四、使用WebLogic“自有的IO”性能包
当你使用自有的性能包测试基准就表明了主要性能的提高。性能包采用最优化的平台及多线程的Socket去提高服务器的性能。例如本地Socket读的多线程有自己的执行队列而不需要借用默认的执行队列线程这样可以让默认执行线程很从容去处理应用程序。
不过如果你一定要用纯Java socket读在主机上运行你仍然可以通过配置每个服务器实例和客户机中适当的socket读的线程数量来提高socket通信的性能。
设置性能包的操作方法
默认情况下装载在co nfi g.xm l中的是自有的性能包。为了验证这个设置在配置文件中检查NativeIOEnabled属性是否设为“true”
NativeIOEn abled=true 。
你也可以通过管理控制台来验证步骤如下
1 启动管理服务器。
2 访问管理控制台。
3 展开左边面板的Servers节点显示域服务。
4 点击你要配置的服务实例。
5 选择Configuration>Tunin g tab。
6 如果Enable Native IO复选框没有被选择选中即可。
7 点击Apply。
8 重启服务器。
五、优化默认执行队列线程
默认情况下一个新的WebLogic实例配置了一个开发模式执行队列weblogic.kernel .defau lt,它包含15个线程。另外WebLogic提供了2个预配置队列n weblogic.admin.HTTP——只在管理服务器上才有这个队列供与管理控制台的通信用你不能再配置它。n weblogic.admin.RMI——管理服务器和被管理服务器上都有这个队列它是供管理的交通之用也不能再配置它。
如果你不配置额外的执行队列并且指定应用给这些队列 we b应用程序和RM I对象就使用默认的队列weblogic.kerne l .defau lt。
注意如果自带的执行包没有在你的平台上使用你可能需要调整默认的执行队列线程数和担任socket读的线程的百分比去实现最佳性能。
5 1你应该更改默认的线程数吗?
增加更多的线程到默认的执行队列并不意味着你能处理更多的工作。即使增加更多的线程仍然被处理器的能力限制。因为线程消耗内存所以增加线程数属性的值不必要的降低了性能。一个高的执行线程数导致更多的内存被占用并且增加了上下文转换程序它也会降低性能。
线程数属性的值与应用程序处理的工作的类型关系密切。例如如果你的客户应用程序比较小通过远程调用处理的工作较多这样客户端会花费更多的时间连接因此与能完成大量客户端任务的客户应用程序相比会需要更多的线程数。
如果你的工作不需要使用超过15个线程开发模式默认或者25个线程产品模式默认 就不要改变这个属性的值。通常如果你的应用程序访问数据库花很长时间才返回结果与访问数据库很短时间就返回的应用程序比较你会需要更多的执行线程。从后者来看用少点的线程数可能提高性能。
5 2需要修改默认线程数的情形
为了给执行队列决定一个理想的线程数当队列中所有应用程序都运行在最大负荷的情况下监视队列的吞吐量。增加线程数重复负载测试直到达到最
佳的吞吐量。 在某些情况下增加线程数将产生足够多的上下文转换程序使得队列中的吞吐量开始减少。
注意WebLogic管理控制台显示的是所有服务器执行队列累积的吞吐量。为了得到这个值后面将会介绍。
下表列出了在WebLogic域中调整的线程及与CPU数量相关的情形这些情况也假定WebLogic运行在最大负荷下并且使用默认的执行队列满足所有的线程的请求。如果你配置了额外的执行队列并指派了应用程序到具体的队列就
需要依据一个个连接池得到结果。
5 3修改默认线程数的步骤
用管理控制台修改默认执行队列线程数如下
1 如果管理服务器没有运行先启动。
2 访问管理控制台。
3 展开左边面板的Servers节点显示域服务。
4 右击服务名称在弹出菜单中选择View Execute Queues 就会在右边面板显示有执行队列的表用来修改。
注意你只能修改默认的执行队列或者用户定义的执行队列。
5 在Name列直接点击默认执行队列名称显示配置标签用来修改执行队列数。
6 填下适当的线程数。
7 点击Apply保存刚才的修改。
8 重启服务器使新的执行队列设置生效。
5 4指派应用程序到执行队列
虽然可以配置默认的执行队列为所有的WebLogic应用程序提供最佳的线程数但是为关键的应用程序配置多个执行队列可以提供更多的管理控制。通过使用多执行队列你可以保证应用程序有权占用固定的线程数而不管WebLogic服务器有多大的负荷。
5 5创建执行队列
一个执行队列代表执行线程的命名集线程指向一个或多个Servle t、 JSP、E J B、RM I对象。执行队列在co nfi g.xm l文件中描述作为服务器元素的一部分。如在config.xm l文件中描述一个有4个线程的队列命名为CriticalAppQue ue如下
. . .
<Server
Name="examplesServer"
Li stenPort="7001"
NativeIOEn abled="true"/>
<ExecuteQueue Name="default"
ThreadCount="15"/>
<ExecuteQue ue Name="CriticalAppQueue"
ThreadCount="4"/>
. . .
</Server>
另一种创建队列的方法是通过管理控制台配置步骤如下
1 启动管理服务器访问控制台。
2 展开左边面板中Servers节点显示域中要配置的服务。
3 右击你要增加队列的服务实例从弹出菜单中选择View ExecuteQueue s。
4 在队列配置标签中 点击配置新执行队列链接。
5 在队列配置标签中更改下列属性或接受系统的默认值n 线程名称Name 你可以输入线程名称如CriticalAppQueue。n 队列长度(Queue Length)通常保留默认值65536 队列长度表明了同时发来请求的最大数 65536个请求是个很大的数即使达到这个最大数也是很少见的。
如果达到最大队列长度WebLogic会自动成倍增长队列大小 以处理额外的工作。
注意超过65536个请求预示队列中的线程有问题不仅仅只是队列本身的长度问题实践表明在队列中有堵塞线程或线程数不足的情况存在。n 队列长限制百分比Queue Length Thres hold Percent 达到队列长度百分比199时就构成了溢出条件的产生。实际队列大小在限制的百分比之下时才被认为是正常的在限制百分比之上就会产生溢出。当出现溢出WebLogic日志就会产生一个错误消息并且按线程数增量Threads Incre ase属性的值增加线程数 以帮助减少负载量。
默认的队列长限制百分比为90。一般情况下应保留90或其左右 以应对一些潜在的情况使得有额外的线程可以去处理一些请求中的异常。记住队列长度限制百分比不是一定作为自动优化参数――因为正常运作情况下这个限度从不会被触发。n 线程数Tread Count 指派到这个队列的线程数。如果你不需要使用超过15个线程默认 就不必更改这个属性值。n 线程数增量Threads Incre ase 是指WebLogic探测到有溢出时增加到执行队列的线程数。当你指定为0 默认 出现溢出时WebLogic会把运行良好状态改为“警告”而且也不会指派额外的线程去减少负荷量。
注意如果WebLogic实例的线程数响应了溢出那么这些额外的线程就会滞留在执行队列直到服务器重启。监视错误日志以判断溢出产生的原因以便根据需要重配置线程数防止以后类似情况产生。不要同时使用线程数增量和队列长限制百分比作为自动优化的手段。如此做通常结果会产生比正常需要还多的线程被指派到执行队列这样上下文转化程序的增多会使服务器遭受很差的性能。n 最大线程数是指执行队列中能运行的这个值保护WebLogic为了响应频繁溢出创建过多的线程数。默认情况下最大线程数为400。n 线程优先级线程优先级与此队列相关。默认值为5。
6 点击C re a te创建队列。
7 重启服务器。
5 6指派Servlet和JSP到执行队列
你可以把servlet或JSP分配到指定的配置执行队列只需在初始参数中标识执行队列的名称。初始参数出现在S e rve rt或J S P的部署描述文件we b.xm l中的init-param元素里。为了分配一个队列可以把队列名作为wl-dispatch-pol icy参数的值。如
<servlet>
<servlet-name>MainServlet</servlet-name>
<jsp-fi le>/myappl ication/critical jsp</jsp-fi le>
<init-param>
<param-name>wl-dispatch-pol icy</param-name>
<param-value>CriticalAppQueu e</param-value>
</init-param>
</servlet>
5 7指派EJB和RMI对象到执行队列
为了把EJB分配到指定的队列可以使用weblog ic-ejb-ja r.xm l文件中dispatch-pol icy元素。
然而你也可以通过使用appc编译器dispatchPol icy选项来设置派遣策略BEA强烈推荐使用部署描述元素。因为用这种方式如果EJB重编译在部署用例期间这个设置不会被丢失。
为了把RMI对象分配到指定的队列可以使用rmic编译器的dispatchPol icy选项如java weblo gic.rmic-dispatchPol icy Criti calAppQueu e. . .
5 8分配执行队列担任Socket读
为了获得更好的socket性能 BEA推荐你使用自有的socket读执行工具它更优于纯Java执行工具。然而如果你一定要在主机上用纯Java的socket读你仍然可以通过配置恰当的执行线程数以提高socket通信性能为每个服务器实例和客户机器担负socket读线程的任务。
Socket读占线程池百分比Threa d PoolPercentSoc ketRe ader属性可以设置用来从socket读消息的执行线程的最大百分比。这个属性的最优值是根据应用程序的需要指定的。默认值是33有效范围在199之间。
分配执行线程担任socket读增加了服务器处理速度和接受客户请求的能力。有必要平衡执行线程数使其专注于从socket读消息也有必要平衡那些在服务器处理实际任务的执行线程。
5 9为服务器实例设置socket读的线程数的操作
1 启动管理服务器访问域控制台。
2 展开左边面板Servers节点显示域服务配置。
3 点击你要配置的服务名称。
4 选择配置Configurat ion――>调整Tunin g标签。
5 在Socket Reader中编辑Java读线程的百分比。 Java socket读线程数是根据所有的执行线程数的百分比计算得到的。
6 应用Apply这个调整。
5 10在客户机设置Socket读线程数
在客户机上你可以配置运行在JVMJava虚拟机上的socket读线程数。指定Socket读需要通过用java命令行定义下列参数
-Dweblogic.Threa dPoolSize=value
-Dweblogic.Threa dPoolPercentSocketReaders=value
5 11优化溢出情况时的执行队列
你可以配置WEBLOGIC监测并且随时应对潜在的溢出不管其发生在默认的执行队列还是用户定义的队列。一旦当前队列大小快达到用户定义的百分比WebLogic认为队列中有一个可能的溢出产生。
diyvm怎么样?diyvm是一家国内成立时间比较久的主机商家了,大约在6年前站长曾经用过他家的美国机房的套餐,非常稳定,适合做站,目前商家正在针对香港沙田机房的VPS进行促销,给的是五折优惠,续费同价,香港沙田机房走的是CN2直连的线路,到大陆地区的速度非常好,DiyVM商家采用小带宽不限流量的形式,带宽2Mbps起步,做站完全够用,有需要的朋友可以入手。diyvm优惠码:五折优惠码:OFF50...
HostKvm发布了夏季特别促销活动,针对香港国际/韩国机房VPS主机提供7折优惠码,其他机房全场8折,优惠后2GB内存套餐月付仅5.95美元起。这是一家成立于2013年的国外主机服务商,主要提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。下面分享几款香港VPS和韩国VPS的配置和价格信息。...
阿里云国际版注册认证教程-免绑卡-免实名买服务器安全、便宜、可靠、良心,支持人民币充值,提供代理折扣简介SunthyCloud成立于2015年,是阿里云国际版正规战略级渠道商,也是阿里云国际版最大的分销商,专业为全球企业客户提供阿里云国际版开户注册、认证、充值等服务,通过SunthyCloud开通阿里云国际版只需要一个邮箱,不需要PayPal信用卡就可以帮你开通、充值、新购、续费阿里云国际版,服务...