版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
weblogic配置結(jié)點(diǎn)管理器實(shí)現(xiàn)遠(yuǎn)程啟動(dòng)
1.受管服務(wù)器的配置同《weblogic配置集群和代理服務(wù)器》文中所述。
2.在控制臺(tái)。計(jì)算機(jī),配置新的計(jì)算機(jī)。可以修改計(jì)算機(jī)名稱然后選擇節(jié)點(diǎn)管理器屬
性頁(yè)修改昨聽地址和監(jiān)聽端口,然后選擇服務(wù)器屬性頁(yè)選擇在此計(jì)算機(jī)上運(yùn)行的受
管服務(wù)器,然后應(yīng)用。
3.選擇控制臺(tái)->服務(wù)器中的要遠(yuǎn)程啟動(dòng)的服務(wù)器,再選擇遠(yuǎn)程啟動(dòng)屬性頁(yè)根據(jù)實(shí)際情
況修改上面的值。
4.4%WL_HOME%/common/nodemanager目錄下找到nodemonQger.hosts將結(jié)
點(diǎn)服務(wù)器的地址加進(jìn)去。
5.啟動(dòng)%WL_HOME%/server/binTfl'jstartNodeManager.cmd(可根據(jù)具體需求修
改腳本)
6.現(xiàn)在你可以通過(guò)服務(wù)器->控制,啟動(dòng)/停止屬性頁(yè)遠(yuǎn)程啟動(dòng)此服務(wù)器了。
優(yōu)化WebLogic服務(wù)器性能參數(shù)
WebLogic配置文件(config.xml)包含了大量很直觀的與性能有關(guān)的參數(shù),能通過(guò)配
置環(huán)境與應(yīng)用程序得到很好的優(yōu)化。基于系統(tǒng)的需要調(diào)整這些參數(shù)不僅能改善單個(gè)點(diǎn)的性
能,而且能提高整個(gè)應(yīng)用程序性能的可衡量性。
試著采用下列WebLogic配置方法,或許能使你的系統(tǒng)達(dá)到最佳狀態(tài):
-修改運(yùn)行隊(duì)列線程數(shù)的值。在WebLogic中隊(duì)列元素的線程數(shù)等于同時(shí)占用運(yùn)行隊(duì)列的
應(yīng)用程序的數(shù)目。當(dāng)任務(wù)加入一個(gè)WebLogic實(shí)例,它就被放到執(zhí)行隊(duì)列中,然后分配給任
務(wù)一個(gè)線程來(lái)運(yùn)行。線程消耗資源,因此要小心處理這個(gè)屬性一一增加不需要的值,會(huì)降低性
能。
二,如果可能,使用自帶的性能包(NotivelOEnobled:什ue)。
三,使用特定的應(yīng)用程序執(zhí)行隊(duì)列。
四,使用JDBC連接池時(shí),修改下列屬性:
n驅(qū)動(dòng)名稱:使用小的驅(qū)動(dòng)或者jDriver。
n初始容量:設(shè)為與最大容量相同的值。
n最大容量:其值至少應(yīng)與線程數(shù)相同。
五,把連接池的大小設(shè)為與執(zhí)行隊(duì)列的線程數(shù)相同。
六,設(shè)置緩沖。
七,為Servlet和JSP使月多個(gè)執(zhí)行隊(duì)列。
八,改變JSP默認(rèn)的」QVQ編譯器,javac比jikes或sj要慢。
優(yōu)化WebLogic
提要:
n為WebLogic啟動(dòng)設(shè)置Jova參數(shù)。
n設(shè)置與性能有關(guān)的配置參數(shù)。
n調(diào)整開發(fā)與產(chǎn)品模式默認(rèn)值。
n使用WebLogic"自有的10”性能包。
n優(yōu)化默認(rèn)執(zhí)行隊(duì)列線程。
n優(yōu)化連接緩存。
n如何提高JDBC連接池的性能。
n設(shè)置JQVQ編譯器。
n使用WebLogic集群提高性能。
n監(jiān)視WebLogic域。
一、為WebLogic啟動(dòng)設(shè)置Java參數(shù)
只要啟動(dòng)WebLogic,就必須指定Jew。參數(shù),簡(jiǎn)單來(lái)說(shuō),通過(guò)
WebLogic.Server域的命令行就可以完成,不過(guò),由于這樣啟動(dòng)的過(guò)程冗長(zhǎng)并且易
于出錯(cuò),BEA公司推薦你把這個(gè)命令寫進(jìn)腳本里。為了簡(jiǎn)化這個(gè)過(guò)程,你可以
修改樣例腳本里的默認(rèn)值,樣例腳本是提供WebLogic啟動(dòng)服務(wù)器的。
如果你用配置向?qū)?chuàng)建你的域,WebLogic啟動(dòng)腳本(startWebLogic.cmd)
放在domoin-nome目錄里。默認(rèn)情況下,這個(gè)目錄是
BEA_HOME/user_projects/domain/domain-name,BEA_HOME表示安裝路徑,
domain-name是在配置模板中設(shè)置的域名稱。
你需要在這個(gè)腳本中修改一些默認(rèn)的JQVQ參數(shù)值,使之適合你的應(yīng)用環(huán)境
和程序。在這個(gè)文件中主要的性能參數(shù)是JAVAHOME和JQVQ堆的大小。
n設(shè)JAVA_HOME的值為JDK所在的位置,如:
setJAVA_HOME=C:/bea/jdkl41_03
n為得乳高性能的吞吐量,把JQVQ堆的最小值與最大值設(shè)為相等。如:
"%JAVA_HOME%/bin/java"-hotspot-Xms512m-Xmx512m
-classpath%CLASSPATH%-
二、設(shè)置與性能有關(guān)的配置參數(shù)
在一個(gè)WebLogic域中,配置文件(coZig.xml)位于與管理服務(wù)器通信的
機(jī)器里,提供WebLogicMBean的長(zhǎng)期存儲(chǔ)。管理服務(wù)器作為連接的中心點(diǎn),
為服務(wù)實(shí)例與系統(tǒng)管理工具提供服務(wù)。域也可以包括其他的WebLogic實(shí)例,稱
之為從服務(wù),主要為應(yīng)用程序提供服務(wù)。
當(dāng)啟動(dòng)管理服務(wù)器是,首先讀域配置文件,然后跳過(guò)建立在配置文件中管理
MBean默認(rèn)的屬性值,每一次用系統(tǒng)管理工具(不管是命令行界面還是管理控
制臺(tái))改變一個(gè)屬性值,它都會(huì)被存到相應(yīng)的管理MBean,并且寫進(jìn)配置文件,
下表列出了config.xml文件中影響服務(wù)器性能的參數(shù)。
元素屬性控制臺(tái)標(biāo)簽備注
ServerNativelOEnabledNativelOEnabled
ExecuteQueueThreadCountThreadCount
ExecuteQueueQueueLengthQueueLength
QueueLengthThresholdPercentQueueLength
ThreadslncreaseThresholdPercent
ThreadsMaximum(隊(duì)列長(zhǎng)限度百分
ThreadPriority比)
ThreadsIncrease
ThreadsMaximum
ThreadPriority
ServerStuckThreadMaxTimeStuckThreadMax
StuckThreadTimerlnteralTime
(堵塞線程的最長(zhǎng)
時(shí)間)
StuckThread
TimerInterval
(堵塞線程的時(shí)間
間隔)
ServerThreadPoolPercentSocketReadersSocketReaders
ServerAcceptBacklogAcceptBacklog
(接受緩存數(shù))
JDBCConnectionPoInitialcapacityInitialCapacity
olMaxCapacityMaxCapacity
JDBCConnectionPoStatementCacheSizeStatementCacheSize
ol(聲明高速緩沖大?。?/p>
三、調(diào)整開發(fā)模式與產(chǎn)品模式默認(rèn)值
你可以指定域?yàn)殚_發(fā)環(huán)境或?yàn)楫a(chǎn)品環(huán)境。WebLogic會(huì)根據(jù)你指定的環(huán)境類
型使用不同的默認(rèn)值提供不同的服務(wù)。
下表列出了兩種模式下的默認(rèn)值
優(yōu)化參數(shù)開發(fā)模式產(chǎn)品模式
ExecuteQueue:ThreadCount15threads25threads
JDBCConnectionPool:1525
MaxCapacityconnectionsconnections
3.1更改運(yùn)行時(shí)模式
在創(chuàng)建了一個(gè)域后,按下列步驟可以更改域里所有服務(wù)的的運(yùn)行時(shí)模式:
1.為更改運(yùn)行在一個(gè)WebLogic主機(jī)上的所有域的運(yùn)行時(shí)模式,用文木編
輯器打開WL_HOME/common/bin/commEnv.cmd(Windows)或者
WL_HOME/common/bin/commEnv.sh(UNIX),WL_HOME是安裝WebLogic
的欣徑。
為指定的域更改運(yùn)行時(shí)模式,就用文本編輯器打開
cyoma/n-name/StartWebLogic.cmd(Windows)or
c/oma/n-name/StartWebLogic.sh(UNIX),domain-name為創(chuàng)建的域的目錄。
2.在這個(gè)腳本中,更改PRODUCTION_MODE的值,如果你要服務(wù)器運(yùn)
行在產(chǎn)品模式,指定其值為TRUEo
3.重啟所有的服務(wù)器。
3.2兩種模式的不同
下表列出了開發(fā)模式與產(chǎn)品模式幾種關(guān)鍵項(xiàng)的區(qū)別:
功用名稱開發(fā)模式產(chǎn)品模式
SSL你可以使用WebLogic安全服務(wù)提供的驗(yàn)如果你使用驗(yàn)證數(shù)字證書,
證數(shù)字證書。有這些證書,你開發(fā)的應(yīng)用程序會(huì)收到警告信息。
會(huì)在SSL保護(hù)的環(huán)境下運(yùn)行。
部署應(yīng)用WEBLOGIC實(shí)例會(huì)自動(dòng)部署和更新位于不能使用自動(dòng)部署功能,必
程序domoin_name/cipplicQtions目錄下的應(yīng)用程須使用WebLogic控制臺(tái)或者
序(domoinjQme為域的名稱)。WebLogiceblogic
Deployer工具。
LogFile啟動(dòng)服務(wù)器后,服務(wù)器自動(dòng)重命名本地日志當(dāng)日志文件達(dá)到500kb,就
Rotation文件為ser、/er-nQme.log.n,為了滯留的會(huì)滾轉(zhuǎn)。
session,只要日志文件的達(dá)到500kb,日志
文件就會(huì)滾轉(zhuǎn)一次。
Execute默認(rèn)的執(zhí)行線程為15。默認(rèn)的執(zhí)行線程為25。
Queues
JDBC默認(rèn)的容量為15。默認(rèn)的容量為25。
Connection
PoolCapacity
四、使用WebLogic”自有的10”性能包
當(dāng)你使用自有的性能包,測(cè)試基準(zhǔn)就表明了主要性能的提高。性能包采用最
優(yōu)化的平臺(tái)及多線程的Socket去提高服務(wù)器的性能。例如,本地Socket讀的
多線程有自己的執(zhí)行隊(duì)列而不需要借用默認(rèn)的執(zhí)行隊(duì)列線程,這樣可以讓默認(rèn)執(zhí)
行線程很從容去處理應(yīng)用程序。
不過(guò),如果你一定要用純Jov。socket讀在主機(jī)上運(yùn)行,你仍然可以通過(guò)配置
每個(gè)服務(wù)器實(shí)例和客戶機(jī)中適當(dāng)?shù)膕ocket讀的線程數(shù)量,來(lái)提高sock#通信的
性能。
設(shè)置性能包的操作方法:
默認(rèn)情況下,裝載在config.xml中的是自有的性能包。為了驗(yàn)證這個(gè)設(shè)置,
在配置文件中檢查NativelOEnobled屬性是否設(shè)為“true”
(NativelOEnabled=true)。
你也可以通過(guò)管理控制臺(tái)來(lái)驗(yàn)證,步驟如下:
1,啟動(dòng)管理服務(wù)器。
2,訪問(wèn)管理控制臺(tái)。
3,展開左邊面板的Servers節(jié)點(diǎn),顯示域服務(wù)。
4,點(diǎn)擊你要配置的服務(wù)實(shí)例。
5,選擇Configuration—>Tuningtabo
6,如果EnobleNativeIO復(fù)選框沒(méi)有被選擇,選中即可。
7,點(diǎn)擊Apply。
8,重啟服務(wù)器。
五、優(yōu)化默認(rèn)執(zhí)行隊(duì)列線程
默認(rèn)情況下,一個(gè)新的WebLogic實(shí)例配置了一個(gè)開發(fā)模式執(zhí)行隊(duì)列,
weblogic.kemel.defou%它包含15個(gè)線程。另外,WebLogic提供了2個(gè)預(yù)配置
隊(duì)列:
nweblogic.admin.HTTP—只在管理服務(wù)器上才有,這個(gè)隊(duì)列供與管理
控制臺(tái)的通信用,你不能再配置它。
nweblogic.admin.RMI—管理服務(wù)器和被管理服務(wù)器上都有這個(gè)隊(duì)列,
它是供管理的交通之用,也不能再配置它。
如果你不配置額外的執(zhí)行隊(duì)列,并且指定應(yīng)用給這些隊(duì)列,web應(yīng)用程序
和RMI對(duì)象就使用默認(rèn)的隊(duì)列weblogic.kernel.defaulto
注意;如果自帶的執(zhí)行包沒(méi)有在你的平臺(tái)上使用,你可能需要調(diào)整默認(rèn)的執(zhí)
行隊(duì)列線程數(shù)和擔(dān)任socket讀的線程的百分比,去實(shí)現(xiàn)最佳性能。
5.1你應(yīng)該更改默認(rèn)的線程數(shù)嗎?
增加更多的線程到默認(rèn)的執(zhí)行隊(duì)列并不意味著你能處理更多的工作。即使增加更多的線程,
仍然被處理器的能力限制。因?yàn)榫€程消耗內(nèi)存,所以增加線程數(shù)屬性的值不必要的降低了性能。
一個(gè)高的執(zhí)行線程數(shù)導(dǎo)致更多的內(nèi)存被占用并且增加了上下文轉(zhuǎn)換程序,它也會(huì)降低性能。
線程數(shù)屬性的值與應(yīng)月程序處理的工作的類型關(guān)系密一力。例如,如果你的客戶應(yīng)用程序比
較小,通過(guò)遠(yuǎn)程調(diào)用處理的工作較多,這樣,客戶端會(huì)花費(fèi)更多的時(shí)間連接,因此,與能完成大
量客戶端任務(wù)的客戶應(yīng)用程序相比,會(huì)需要更多的線程數(shù)。
如果你的工作不需要使用超過(guò)15個(gè)線程(開發(fā)模式默認(rèn))或者25個(gè)線程(產(chǎn)品模式默
認(rèn)),就不要改變這個(gè)屬性的值。通常,如果你的應(yīng)用程序訪問(wèn)數(shù)據(jù)庫(kù)花很長(zhǎng)時(shí)間才返回結(jié)果,
與訪問(wèn)數(shù)據(jù)庫(kù)很短時(shí)間就返回的應(yīng)用程序比較,你會(huì)需要更多的執(zhí)行線程。從后者來(lái)看,用少
點(diǎn)的線程數(shù)可能提高性能。
5.2需要修改默認(rèn)線程數(shù)的情形
為了給執(zhí)行隊(duì)列決定一個(gè)理想的線程數(shù),當(dāng)隊(duì)列中所有應(yīng)用程序都運(yùn)行在最
大負(fù)荷的情況下,監(jiān)視隊(duì)列的吞吐量。增加線程數(shù),重復(fù)負(fù)載測(cè)試,直到達(dá)到最
佳的吞吐量。(在某些情況下,增加線程數(shù)將產(chǎn)生足夠多的上下文轉(zhuǎn)換程序,使
得隊(duì)列中的吞吐量開始減少。)
注意:WebLogic管理控制臺(tái)顯示的是所有服務(wù)器執(zhí)行隊(duì)列累積的吞吐量。
為了得到這個(gè)值,后面將會(huì)介紹。
下表列出了在WebLogic域中調(diào)整的線程及與CPU數(shù)量相關(guān)的情形,這些
情況也假定WebLogic運(yùn)行在最大負(fù)荷下,并且使用默認(rèn)的執(zhí)行隊(duì)列滿足所有的線
程的請(qǐng)求。如果你配置了額外的執(zhí)行隊(duì)列并指派了應(yīng)用程序到具體的隊(duì)列,就需
要依據(jù)一個(gè)個(gè)連接池得到結(jié)果。
如果…結(jié)果應(yīng)該:
線程數(shù)<CPU的數(shù)量線程數(shù)太少,如果:增加線程數(shù)。
CPU正等著工作,但
有工作被完成。
CPU利用率不能達(dá)
到100%。
線程數(shù)=CPU的數(shù)理論上理想,但是增加線程數(shù)。
量CPU仍然低利用。
線程數(shù)(適當(dāng)實(shí)際中理想,有個(gè)適調(diào)整適當(dāng)?shù)木€程數(shù)
的)>CPU的數(shù)量當(dāng)?shù)纳舷挛霓D(zhuǎn)換程序數(shù)并且比較性能結(jié)果。
量和高的CPU利用率。
線程數(shù)(較大過(guò)多的上下文轉(zhuǎn)換減少線程數(shù),使它等
的)>CPU的數(shù)量程序,能導(dǎo)致重大的性能于CPU的數(shù)量,然后僅
降級(jí)。僅增加己經(jīng)得出的“堵塞”
當(dāng)你降低線程數(shù)時(shí),線程的數(shù)量。
性能可以增強(qiáng)。例如,如果你有4個(gè)
處理器,它們都同時(shí)運(yùn)
行,并出現(xiàn)堵塞線程,于
是,你想要的執(zhí)行線程就
是4+堵塞線程的數(shù)
5.3修改默認(rèn)線程數(shù)的步驟
用管理控制臺(tái)修改默認(rèn)執(zhí)行隊(duì)列線程數(shù)如下:
1.如果管理服務(wù)器沒(méi)有運(yùn)行,先啟動(dòng)。
2.訪問(wèn)管理控制臺(tái)。
3.展開左邊面板的Servers節(jié)點(diǎn),顯示域服務(wù)。
4.右擊服務(wù)名稱,在彈出菜單中選擇ViewExecuteQueues,就會(huì)在右邊面板顯示
有執(zhí)行隊(duì)列的表用來(lái)修改,
注意:你只能修改默認(rèn)的執(zhí)行隊(duì)列或者用戶定義的執(zhí)行隊(duì)列。
5.在Nome列,直接點(diǎn)擊默認(rèn)執(zhí)行隊(duì)列名稱,顯示配置標(biāo)簽用來(lái)修改執(zhí)行隊(duì)列數(shù)。
6.填下適當(dāng)?shù)木€程數(shù)。
7.點(diǎn)擊Apply,保存剛才的修改。
8.重啟服務(wù)器,使新的執(zhí)行隊(duì)列設(shè)置生效。
5.4指派應(yīng)用程序到執(zhí)行隊(duì)列
雖然可以配置默認(rèn)的執(zhí)行隊(duì)列,為所有的WebLogic應(yīng)用程序提供最佳的線程
數(shù),但是為關(guān)鍵的應(yīng)用程序配置多個(gè)執(zhí)行隊(duì)列可以提供更多的管理控制。通過(guò)使
用多執(zhí)行隊(duì)列,你可以保證應(yīng)用程序有權(quán)占用固定的線程數(shù),而不管WebLogic眼務(wù)
器有多大的負(fù)荷。
5.5創(chuàng)建執(zhí)行隊(duì)列
一個(gè)執(zhí)行隊(duì)列代表執(zhí)行線程的命名集,線程指向一個(gè)或多個(gè)Servlet、JSP、
EJB、RMI對(duì)象。執(zhí)行隊(duì)列在config.xml文件中描述,作為服務(wù)器元素的一部分。
如在config.xml文件中描述一個(gè)有4個(gè)線程的隊(duì)列,命名為Cr計(jì)icolAppQueue,
如下:
???
<Server
Name="examplesServer"
ListenPort^'/OOl"
NativelOEnabled="true"/>
<ExecuteQueueName-'default"
ThreadCount="15,7>
<ExecuteQueueName-'CriticalAppQueue"
ThreadCount='M"/>
</Server>
另一種創(chuàng)建隊(duì)列的方法是通過(guò)管理控制臺(tái),配置步驟如下:
1.啟動(dòng)管理服務(wù)器,訪問(wèn)控制臺(tái)。
2.展開左邊面板中Servers節(jié)點(diǎn),顯示域中要配置的服務(wù)。
3.右擊你要增加隊(duì)列的服務(wù)實(shí)例,從彈出菜單中選擇ViewExecute
QueueSo
4.在隊(duì)列配置標(biāo)簽中,點(diǎn)擊配置新執(zhí)行隊(duì)列鏈接。
5.在隊(duì)列配置標(biāo)簽中,更改下列屬性或接受系統(tǒng)的默認(rèn)值:
n線程名稱(Nome):你可以輸入線程名稱,如CriticalAppQueue0
n隊(duì)列長(zhǎng)度(QueueLength):通常保留默認(rèn)值65536,隊(duì)列長(zhǎng)度表明了
同時(shí)發(fā)來(lái)請(qǐng)求的最大數(shù),65536個(gè)請(qǐng)求是個(gè)很大的數(shù),即使達(dá)到這個(gè)最大數(shù),也
是很少見的。
如果達(dá)到最大隊(duì)列長(zhǎng)度,WebLogic會(huì)自動(dòng)成倍增長(zhǎng)隊(duì)列大小,以處理額外
的工作。
注意:超過(guò)65536個(gè)請(qǐng)求預(yù)示隊(duì)列中的線程布?問(wèn)題,不僅僅只是隊(duì)列本身
的長(zhǎng)度問(wèn)題,實(shí)踐表明在隊(duì)列中有堵塞線程或線程數(shù)不足的情況存在。
n隊(duì)列長(zhǎng)限制百分比(QueueLengthThresholdPercent):達(dá)到隊(duì)列長(zhǎng)
度百分比(1-99)時(shí),就構(gòu)成了溢出條件的產(chǎn)生。實(shí)際隊(duì)列大小在限制的百分
比之下時(shí)才被認(rèn)為是正常的;在限制百分比之上就會(huì)產(chǎn)生溢出。當(dāng)出現(xiàn)溢出,
WebLogic日志就會(huì)產(chǎn)生一個(gè)錯(cuò)誤消息,并且按線程數(shù)增量(ThreadsIncrease)
屬性的值增加線程數(shù),以幫助減少負(fù)載量。
默認(rèn)的隊(duì)列長(zhǎng)限制百分比為90%o一般情況下,應(yīng)保留90%或其左右,以
應(yīng)對(duì)一些潛在的情況,使得有額外的線程可以去處理一些請(qǐng)求中的異常。記住,
隊(duì)列長(zhǎng)度限制百分比不是一定作為自動(dòng)優(yōu)化參數(shù)一一因?yàn)檎_\(yùn)作情況下,這個(gè)
限度從不會(huì)被觸發(fā)。
n線程數(shù)(TreedCount):指派到這個(gè)隊(duì)列的線程數(shù)。如果你不需要使
用超過(guò)15個(gè)線程(默認(rèn)),就不必更改這個(gè)屬性值。
n線程數(shù)增量(ThreodsIncrease):是指WebLogic探測(cè)到有溢出時(shí),
增加到執(zhí)行隊(duì)列的線程數(shù)。當(dāng)你指定為0(默認(rèn)),出現(xiàn)溢出時(shí),WebLogic會(huì)
把運(yùn)行良好狀態(tài)改為“警告”,而且也不會(huì)指派額外的線程去減少負(fù)荷量。
注意:如果WebLogic實(shí)例的線程數(shù)響應(yīng)了溢出,那么這些額外的線程就會(huì)
滯留在執(zhí)行隊(duì)列,直到服務(wù)器重啟。監(jiān)視錯(cuò)誤日志,以判斷溢出產(chǎn)生的原因,以
便根據(jù)需要重配置線程數(shù),防止以后類似情況產(chǎn)生。不要同時(shí)使用線程數(shù)增量和隊(duì)
列長(zhǎng)限制百分比作為自動(dòng)優(yōu)化的手段。如此做通常結(jié)果會(huì)產(chǎn)生比正常需要還多的線
程被指派到執(zhí)行隊(duì)列,這樣上下文轉(zhuǎn)化程序的增多會(huì)使服務(wù)器遭受很差的性能。
n最大線程數(shù):是指執(zhí)行隊(duì)列中能運(yùn)行的,這個(gè)值保護(hù)WebLogic為了響應(yīng)
頻繁溢出,創(chuàng)建過(guò)多的線程數(shù)。默認(rèn)情況下,最大線程數(shù)為400o
n線程優(yōu)先級(jí):線程優(yōu)先級(jí)與此隊(duì)列相關(guān)。默認(rèn)值為5o
6.點(diǎn)擊Create,創(chuàng)建隊(duì)列。
7.重啟服務(wù)器。
5.6指派Servlet和JSP到執(zhí)行隊(duì)列
你可以把servlet或JSP分配到指定的配置執(zhí)行隊(duì)列,只需在初始參數(shù)中標(biāo)
識(shí)執(zhí)行隊(duì)列的名稱。初始參數(shù)出現(xiàn)在Serv一什或JSP的部署描述文件web.xml
中的init-pocm元素里。為了分配一個(gè)隊(duì)列,可以把隊(duì)列名作為
wl-disp。忙h-policy參數(shù)的值。如:
<servlet>
<servlet-name>MainServlet</servlet-name>
<jsp-file>/myapplication/critical.jsp</jsp-file>
<init-param>
<porom-nome>wl-dispok:h-policy</pQrQm-ncime>
<param-value>CriticalAppQueue</param-value>
</init-param>
</servlet>
5.7指派EJB和RMI對(duì)象到執(zhí)行隊(duì)列
為了把EJB分配到指定的隊(duì)列,可以使用weblogic-ejb-jor.xml文件中
dispatch-policy元素。
然而你也可以通過(guò)使用oppc編譯器一disp。忙hPolicy選項(xiàng)來(lái)設(shè)置派遣策略,
BEA強(qiáng)烈推薦使用部署描述元素。因?yàn)橛眠@種方式,如果EJB重編譯,在部署
用例期間,這個(gè)設(shè)置不會(huì)被丟失。
為了把RMI對(duì)象分配到指定的隊(duì)列,可以使用「mic編譯器的一
dispotchPolicy選項(xiàng),如:
javaweblogic.rmic-dispatchPolicyCriticalAppQueue...
5.8分配執(zhí)行隊(duì)列擔(dān)任Socket讀
為了獲得更好的socket性能,BEA推薦你使用自有的socket讀執(zhí)行工具,
它更優(yōu)于純JQVQ執(zhí)行工具。然而,如果你一定要在主機(jī)上用純JQVQ的socket
讀,你仍然可以通過(guò)配置恰當(dāng)?shù)膱?zhí)行線程數(shù)以提高socket通信性能,為每個(gè)服
務(wù)器實(shí)例和客戶機(jī)器擔(dān)負(fù)socket讀線程的任務(wù)。
Socket讀占線程池百分比(ThreodPoolPercentSocketReoder)屬性可以
設(shè)置用來(lái)從socket讀消息的執(zhí)行線程的最大百分比。這個(gè)屬性的最優(yōu)值是根據(jù)
應(yīng)用程序的需要指定的。默認(rèn)值是33,有效范圍在1—99之間。
分配執(zhí)行線程擔(dān)任socket讀增加了服務(wù)器處理速度和接受客戶請(qǐng)求的能
力。有必要平衡執(zhí)行線程數(shù),使其專注于從socket讀消息,也有必要平衡那些
在服務(wù)器處理實(shí)際任務(wù)的執(zhí)行線程。
5.9為服務(wù)器實(shí)例設(shè)置socket讀的線程數(shù)的操作
1.啟動(dòng)管理服務(wù)器,訪問(wèn)域控制臺(tái)。
2.展開左邊面板Servers節(jié)點(diǎn),顯示域服務(wù)配置。
3.點(diǎn)擊你要配置的服務(wù)名稱。
4.選擇配置(CoZigurotion)----->調(diào)整(Tuning)標(biāo)簽。
5.在SocketReader中編輯Java讀線程的百分比。Javasocket讀線
程數(shù)是根據(jù)所有的執(zhí)行線程數(shù)的百分比計(jì)算得到的。
6.應(yīng)用(Apply)這個(gè)調(diào)整。
5.10在客戶機(jī)設(shè)置Socket讀線程數(shù)
在客戶機(jī)上,你可以配置運(yùn)行在JVM(JQVQ虛擬機(jī))上的socket讀線程數(shù)。
指定Socket讀,需要通過(guò)用jQv。命令行定義下列參數(shù):
-Dweblogic.ThreadPoolSize=ua/i/e
-Dweblogic.ThreadFoolPercentSocketReaders=va/ue
5.11優(yōu)化溢出情況時(shí)的執(zhí)行隊(duì)列
你可以配置WEBLOGIC監(jiān)測(cè)并且隨時(shí)應(yīng)對(duì)潛在的溢出,不管其發(fā)生在默認(rèn)
的執(zhí)行隊(duì)列還是用戶定義的隊(duì)列。一旦當(dāng)前隊(duì)列大小快達(dá)到用戶定義的百分比,
WebLogic認(rèn)為隊(duì)列中有一個(gè)可能的溢出產(chǎn)生。
當(dāng)這個(gè)限度到達(dá)時(shí),服務(wù)器改變它的良好狀態(tài)為“警告”,隨即分配額外的線
程去處理超負(fù)荷的工作,從而還原它的大小。
為了自動(dòng)監(jiān)測(cè)和應(yīng)對(duì)溢出,你可以配置以下預(yù):
1.隊(duì)列長(zhǎng)限制百分比,這個(gè)值是隊(duì)列大小的百分比。
2.當(dāng)溢出發(fā)生時(shí),增加到隊(duì)列的線程數(shù)。這些額外的線程以還原隊(duì)列到
正常的運(yùn)行的大小。
3.線程的最大數(shù),在特殊情況下,線程最大數(shù)用來(lái)保護(hù)服務(wù)器在響應(yīng)過(guò)
載情況下過(guò)度分配線程數(shù)。
5.12優(yōu)化執(zhí)行隊(duì)列的監(jiān)測(cè)行為
當(dāng)一個(gè)線程在隊(duì)列中變成堵塞狀態(tài)時(shí),WebLogic會(huì)自動(dòng)監(jiān)測(cè)到。因?yàn)槎氯?/p>
線程不能完成它當(dāng)前的工作或接受新的工作,服務(wù)器每次診斷一個(gè)堵塞線程,就
記入一個(gè)消息到日志中。如果一個(gè)隊(duì)列中所有的線程變成堵塞,服務(wù)器改變良好狀
態(tài)成'警告"或者“危機(jī)”,依賴于下列情況:
n如果默認(rèn)隊(duì)列中所有的線程變成堵塞,服務(wù)器狀態(tài)變成“危機(jī)”。(你可
以設(shè)立節(jié)點(diǎn)管理器(NodeManager)應(yīng)用去自動(dòng)關(guān)閉及重啟服務(wù)器。)
n如果在weblogic.admin.HTTP,weblogic.admin.RMI或用戶定義的隊(duì)
列中所有線程變成堵塞,服務(wù)器狀態(tài)變成'警告”。
WebLogic診斷到一個(gè)堵塞線程,如果它是在指定的時(shí)間內(nèi)連續(xù)不斷的工作
(沒(méi)有"空閑)。你可以調(diào)整服務(wù)器線程監(jiān)測(cè)行為,它是通過(guò)改變堵塞線程被診斷
前的時(shí)間長(zhǎng)度和服務(wù)器核查堵塞線程的頻率。
注意:盡管你能改變標(biāo)準(zhǔn)WebLogic去決定一個(gè)線程是否堵塞,但,你不能改
變默認(rèn)行為,就是出現(xiàn)堵塞時(shí)把服務(wù)器設(shè)置成“警告”或“危機(jī)”的行為。
配置WebLogic堵塞線程監(jiān)測(cè)行為的步驟:
I.啟動(dòng)WebLogic,訪問(wèn)管理控制臺(tái)。
2.點(diǎn)擊你想為改善堵塞線監(jiān)測(cè)而修改的服務(wù)器實(shí)例的名稱。
3.選擇配置(Configuration)——>調(diào)整(Tuning)標(biāo)簽。
4.修改下列參數(shù):
n堵塞線程最大時(shí)間(StuckThreadMaxTime):輸入秒數(shù),線程一定
是不斷的運(yùn)行,服務(wù)器才會(huì)診斷這個(gè)線程作為堵塞。默認(rèn)情況下,WebLogic認(rèn)
為線程連續(xù)不斷運(yùn)行600秒后置為堵塞。
n堵塞線程時(shí)間間隔(StuckThreodTimerlntervol):輸入秒數(shù),這個(gè)
時(shí)間是WebLogic周期性的掃描線程以察覺(jué)它們是否連續(xù)不斷運(yùn)行了某一線程
的時(shí)間達(dá)到通過(guò)堵塞線程最大時(shí)間屬性指定的時(shí)間長(zhǎng)度。默認(rèn)時(shí)間間隔為600
秒。
5.應(yīng)用(Apply)設(shè)置。
6.重啟服務(wù)器。
六、優(yōu)化連接緩存
Config.xml文件中的元素接受緩存數(shù)(AcceptBocklog)屬性是用來(lái)設(shè)定請(qǐng)
求WebLogic實(shí)例的連接數(shù),在拒絕額外的請(qǐng)求之前,能接受設(shè)定的緩存數(shù)。
AcceptBocklog屬性指定有多少TCP連接緩存在等待隊(duì)列,這個(gè)固定的隊(duì)列存
放了TCP堆棧已經(jīng)收到但應(yīng)用程序還沒(méi)有收到的連接請(qǐng)求。默認(rèn)值是50,最大
值由操作系統(tǒng)決定。
在控制臺(tái)調(diào)整接受緩存數(shù)的步驟:
1.啟動(dòng)WebLogic,訪問(wèn)控制臺(tái)。
2.展開左邊面板Servers節(jié)點(diǎn)。
3.點(diǎn)擊你要配置的服務(wù)器實(shí)例的名稱。
4.選擇配置(Configuration)----->調(diào)整(Tuning)標(biāo)簽。
5.根據(jù)需要修改默認(rèn)的接受緩存數(shù)(AcceptBacklog):
n在運(yùn)行期間,如果許多客戶端連接得不到響應(yīng)或被拒絕,并且服務(wù)器
端也沒(méi)有錯(cuò)誤消息,說(shuō)明接受緩存的值可能太小。
n在你訪問(wèn)WebLogic時(shí),如果收至『拒絕連接(connectionrefusec)”
的提示,則應(yīng)該增加接受緩存的默認(rèn)值的25%。繼續(xù)增加其值的25%,直到停
止出現(xiàn)這樣的提示。
6.點(diǎn)擊應(yīng)用(Apply),保存設(shè)置。
七、如何提高JDBC連接池的性能
創(chuàng)建一個(gè)帶DBMS的JDBC連接是非常慢的。如果應(yīng)用程序需要數(shù)據(jù)庫(kù)不
斷的連接和斷開,這種創(chuàng)建方式會(huì)造成一個(gè)重大的性能問(wèn)題。WebLogic連接池提
供了一種高效的解決方案來(lái)解決這個(gè)問(wèn)題。
當(dāng)啟動(dòng)WebLogic,就打開連接池,以便于所有客戶連接。當(dāng)一個(gè)客戶關(guān)閉
一個(gè)連接,這個(gè)連接就返回到連接池,供其他的客戶使用。連接本身不會(huì)關(guān)閉。
如此就用極少的代價(jià)實(shí)現(xiàn)了連接和斷開連接池。
在連接池里應(yīng)該創(chuàng)建多少連接呢?連接池會(huì)艱據(jù)配置參數(shù)中的最大數(shù)與最
小數(shù)之間增加或減少連接。最好的性能應(yīng)該是連接數(shù)與當(dāng)前客戶會(huì)話(Session)
數(shù)相同。
7.1調(diào)整JDBC連接池的初始容量
在配置連接池時(shí),JDBCConnectionPool元素中的InitiolCopocity屬性能
設(shè)定連接數(shù),創(chuàng)建物理的數(shù)據(jù)庫(kù)連接。如果服務(wù)器不能創(chuàng)建這個(gè)連接數(shù),連接池
的創(chuàng)建就會(huì)失敗。
在開發(fā)期間,為了使服務(wù)器啟動(dòng)更快,可以很方便的設(shè)置InitiQlCopoc計(jì)y屬性
的值小一點(diǎn)。在產(chǎn)品系統(tǒng)中,就應(yīng)該把In計(jì)iolCopcicity的值設(shè)為與MoxCopocity值
相同,默認(rèn)產(chǎn)品模式的值為25o這樣,在服務(wù)器啟動(dòng)時(shí),所有的連接就會(huì)被創(chuàng)
建。如果你調(diào)整了MoxCopcic計(jì)y值后,一定要確信InitiolCopcicity值設(shè)置與
MaxCapacity值相同。
如果InitiQlCopocity比MoxCopocity值少,當(dāng)負(fù)荷增加時(shí),服務(wù)器需要?jiǎng)?chuàng)建
額外的數(shù)據(jù)庫(kù)連接。當(dāng)服務(wù)器處于低負(fù)荷時(shí),所有的資源應(yīng)該是盡快的完成請(qǐng)求,
而不是創(chuàng)建新的數(shù)據(jù)庫(kù)連接。
7.2調(diào)整JDBC連接池的最大容量
JDBCConnectonPool元素中的MoxCopoc計(jì)y屬性設(shè)置連接池包含的最大的
物理數(shù)據(jù)庫(kù)連接數(shù)。不同的JDBC驅(qū)動(dòng)程序和數(shù)據(jù)庫(kù)服務(wù)器可能限制物理連接
數(shù)。
默認(rèn)的最大容量數(shù)與默認(rèn)的線程數(shù)相等:開發(fā)模式為15,產(chǎn)品模式為25o
不過(guò),在產(chǎn)品模式下,建議連接數(shù)與當(dāng)前的客戶會(huì)話(Session)數(shù)相等。在服
務(wù)器端,連接池的容量與執(zhí)行線程數(shù)是無(wú)關(guān)的,正在進(jìn)行的用戶會(huì)話比執(zhí)行線程
更多。
八、設(shè)置Java編譯器
編譯JSPServlet的標(biāo)準(zhǔn)JQVQ編譯器是jovcc。你可以把java編譯器設(shè)置
為si或jikes代替jovcc,這樣能極大的提高性能。下面討論設(shè)置步驟及其要考
慮的事項(xiàng)。
8.1通過(guò)控制臺(tái)改變編譯器
I.啟動(dòng)服務(wù)器,訪問(wèn)控制臺(tái)。
2.展開左邊面板Servers節(jié)點(diǎn)。
3.點(diǎn)擊要配置的服務(wù)器實(shí)例的名稱。
4.選擇配置(CoZigurotion)------>常規(guī)(General),在JQVQCompiler
編輯框輸入編譯器的完全路徑。如:c:/visualcofe3l/bin/sj.exe
5.點(diǎn)擊高級(jí)選項(xiàng)(AdvancedOption)------>Show,顯示其他的屬性。
6.用添加(Append)把完全路徑通過(guò)Classpath框輸入到JRErt.j。「庫(kù)。
如:BEAJIOME/jdkl4l_02/jre/lib/rt.jar
7.點(diǎn)擊應(yīng)用。
8.重啟服務(wù)器。
8.2在Weblogic.xml文件中設(shè)置編譯器
n使用compileCommand參數(shù)指定Java編譯器。
n使用procomoile參數(shù)配置WebLogic,在啟動(dòng)WebLogic時(shí)預(yù)編譯JSP。
8.3編譯EJB容器類
使用Weblogic.cppc的功能去編譯EJB2.0和l.l容器類。如果編譯Jor文
件部署EJB容器,你必須使用weblogic.Qppc生成容器類。默認(rèn)情況下,EJB
使用javac編譯潛。為了得到跟好的性能,使用一compiler標(biāo)志指定不同的編譯
器(加Symantec公司的sj)
8.4在UNIX環(huán)境下編譯
在UNIX機(jī)器上編譯JSP文件,如果收到下列錯(cuò)誤消息:
failed:java.io.lOExceptionrNotenoughspace
試試下列一些或所有的解決方法:
n如果你只有256MB的內(nèi)存,增加更大的內(nèi)存。
n提高文件描述文件的限制,如:
setrlim_fd_max=4096
setrlim_fd_cur='O24
n啟動(dòng)JVM時(shí),用一notive標(biāo)志來(lái)使用自有的線程。
九、使用WebLogic集群提高性能
WebLogic集群是指一組WebLogic實(shí)例在一起提供具有防過(guò)載和自有復(fù)制
的功能,以用一個(gè)域?yàn)樗锌蛻糁С挚缮炜s的高可用性運(yùn)行。集群對(duì)于客戶是一
個(gè)單一的服務(wù)器,但實(shí)際上是一組服務(wù)器來(lái)提高可靠性和可伸縮性。
9.1可伸縮性和高的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 互聯(lián)網(wǎng)醫(yī)療與醫(yī)保支付體系
- 商業(yè)合同法和合同執(zhí)行程序規(guī)定的合同解釋與解讀原則
- 服務(wù)補(bǔ)救策略與患者滿意度恢復(fù)監(jiān)測(cè)
- 醫(yī)療機(jī)器人輔助手術(shù)探索
- 京博控股集團(tuán)招聘面試題及答案
- 鴻翔控股集團(tuán)招聘面試題及答案
- 1 土風(fēng)舞標(biāo)準(zhǔn)教案
- 醫(yī)療衛(wèi)生政策與改革探索
- 互聯(lián)網(wǎng)醫(yī)療與醫(yī)療支付
- 醫(yī)療護(hù)理風(fēng)險(xiǎn)識(shí)別與防范
- 2025課堂懲罰 主題班會(huì):馬達(dá)加斯加企鵝課堂懲罰 課件
- 本科《行政領(lǐng)導(dǎo)學(xué)》期末紙質(zhì)考試總題庫(kù)2025版
- 肘管綜合征超聲診斷與評(píng)估
- DGTJ 08-2024-2016 用戶高壓電氣裝置規(guī)范
- 創(chuàng)新實(shí)踐(理論)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 家裝設(shè)計(jì)的職責(zé)【部門職能】1、接待裝-112702874
- 大類資產(chǎn)配置量化模型研究系列之五:不同協(xié)方差矩陣估計(jì)方法對(duì)比分析
- 雜物電梯維護(hù)保養(yǎng)施工方案
- 《菉竹山房》優(yōu)質(zhì)教學(xué)課件
- GB/T 23794-2023企業(yè)信用評(píng)價(jià)指標(biāo)
- GA 1468-2018寄遞企業(yè)安全防范要求
評(píng)論
0/150
提交評(píng)論