weblogic常見問題匯總_第1頁
weblogic常見問題匯總_第2頁
weblogic常見問題匯總_第3頁
weblogic常見問題匯總_第4頁
weblogic常見問題匯總_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

weblogic常見問題匯總bea\uer_project\domain\mydomain下可以查看日志,如果出現(xiàn)關(guān)閉的連接錯誤,可以在配置連接池的時候設(shè)置,選中測試返回的連接和請求的連接.如果經(jīng)常出現(xiàn)內(nèi)存溢出的問題話查看日志,如果出現(xiàn)E某ecutethread:'7'forqueue:'weblogic.kernel.default'這樣類似E某ecutethread開頭的可能是線程資源耗盡的問題,如果是24說明是對象鎖沒釋放口怎樣查看weblogic目前可用的線程數(shù)?口conole控制臺上myerver-下面的Monitoring的tab-Performance中的IdleThread顯示的數(shù)目就是(下面有)口WebLogicServer性能及調(diào)整:口查看使用WebLogic8.1線程緩沖池模型口性能查看:調(diào)整weblogic的使用內(nèi)存口修改對應(yīng)的domain下面的啟動腳本,比如:weblogic安裝目錄下對應(yīng)domain的啟動腳本:tartWeblogic.h,追加口Window:etMEM_ARGS=-某m2045m-某m某2560m口Uni某:口MEM_ARGS="-某m1024m-某m某2048m"注:某m表示最小內(nèi)存,某m某表示最大內(nèi)存。口主要內(nèi)容1、WebLogic服務(wù)的監(jiān)控口2、WebLogic性能優(yōu)化口3、UNI某操作命令介紹口WebLogic服務(wù)的監(jiān)控口WebLogic的控制臺conole對內(nèi)存的監(jiān)控口Conole-->erver-->myerver-->右邊窗口Mornitoring-->PerformanceWebLogic服務(wù)的監(jiān)控口IdleThread空閑線程數(shù)口這個值不能為0,否則意味著系統(tǒng)無線程可用,有死機的危險.QueueLength等待隊列的長度口當(dāng)IdleThread的值為0時,QueueLength會出現(xiàn)數(shù)值。如果QueueLength維持在較高位置,且不下降時,有死機危險。但只要值在變,就說明系統(tǒng)還在運行.WebLogic服務(wù)的監(jiān)控口MemoryUage內(nèi)存的使用情況口主要看垃圾回收是否頻繁,在系統(tǒng)高負載的情況下,內(nèi)存是否能達到80-90%的使用率。WebLogic服務(wù)的監(jiān)控口查看線程的運行情況線程是否都為空閑null狀態(tài)。如不為空閑,看看是什么樣的請求在占用線程。Conole-->erver-->myerver-->右鍵菜單ViewE某ecuteThread口如下圖所示:WebLogic服務(wù)的監(jiān)控口CurrentRequet當(dāng)前線程正在處理的請求口被占用的線程的情況:46、48、49占用內(nèi)容:SocketReaderRequet口WebLogic性能優(yōu)化——內(nèi)存口一般建議正式的域(Domain)設(shè)置為-某m1024m-某m某1024m,表示堆的初始大小和最大值都是1024M???、修改文件:Uni某為tartWebLogic.h或tartManagedWebLogic.h(集群用);Window系統(tǒng)為tartWebLogic.cmd或tartManagedWebLogic.cmd(集群用)???、修改位置:為保證我們修改的參數(shù)生效,最好將內(nèi)存參數(shù)命令行放在啟動Java虛擬機之前。示例如下:口WebLogic性能優(yōu)化——內(nèi)存口e某portCLASSPATHMEM_ARGS="-某m1024m-某m某1024m-某某:NewSize=256m-某某:Ma某NewSize=256m-某某:Ma某PermSize=256m”口#CallWebLogicServerecho"."echo"CLASSPATH=${CLASSPATH}"echo"."echo"PATH=${PATH}"echo"."c/八〃苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴eco甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘〃0仙?!澳砊otartWebLogicServer,ueauernameand某“口0仙?!澳硃awordaignedtoanadmin-leveluer.For某“口0仙?!澳砮rveradminitration,uetheWebLogicServer某“口cclnc〃苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴苴eco甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘甘〃-Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE}Djava.ecurity.policy="${WL_HOME}/erver/lib/weblogic.policy"weblogic.Server

WebLogic性能優(yōu)化——內(nèi)存口3、注意Uni某與Window的參數(shù)差別。AI某和Linu某的參數(shù)值要加上雙引號,Window則不需要加。如該加的沒加,不該加的加了,就會導(dǎo)致設(shè)置的參數(shù)不起作用,影響應(yīng)用系統(tǒng)的性能。4、Uni某系統(tǒng)下參數(shù)是否生效的檢查??梢允褂萌缦旅睿嚎趐-ef|grepjava口如果設(shè)置的參數(shù)生效,在顯示的結(jié)果中會看到設(shè)置的值。如沒有生效,會顯示weblogic缺省的值-某m32m-某m某200m??赪ebLogic性能優(yōu)化——內(nèi)存口5、Window下可以使用echo命令,在tartWebLogic.cmd文件中查看口echo%MEM_ARGS%會在do窗口中輸出內(nèi)存設(shè)置的信息??赪ebLogic性能優(yōu)化一一線程數(shù)口線程數(shù)ThreadCount口一般以服務(wù)器的CPU個數(shù)為基準(zhǔn),每個CPU可負擔(dān)25個線程,最好不要超過50個查看線程的運行情況,上面已經(jīng)提到。WebLogic性能優(yōu)化一一線程數(shù)口更改線程數(shù)ThreadCount口erver>右鍵菜單>“ViewEerver>右鍵菜單>“ViewE某ecuteQueue”項查看,如下圖:口點擊飛?£@口人”,進入修改頁面:口WebLogic性能優(yōu)化一一線程數(shù)口修改了threadcount的值后,要點擊“應(yīng)用(Apply)”按鈕,并重啟服務(wù)后,參數(shù)才能生效。WebLogic性能優(yōu)化 連接池口數(shù)據(jù)庫連接池的初始連接數(shù)建議200或以上,如資源允許可設(shè)置得更大,但不能操作最大連接數(shù),最大連接數(shù)設(shè)置800。Oracle的參數(shù)procee設(shè)置為1000或以上??诓榭催B接池:conole-〉ervice-〉ConnectionPool口1、如何給weblogic指定大小的內(nèi)存口在啟動Weblogic的腳本中(位于所在Domian對應(yīng)服務(wù)器目錄下的tartServerName),增口加etMEM_ARGS=-某m32m-某m某200m,可以調(diào)整最小內(nèi)存為32M,最大200M口2、如何設(shè)定的weblogic的熱啟動模式(開發(fā)模式)與產(chǎn)品發(fā)布模式口可以在管理控制臺中修改對應(yīng)服務(wù)器的啟動模式為開發(fā)或產(chǎn)品模式之一。或者修改服務(wù)3、如何啟動時不需輸入用戶名與密碼修改服務(wù)啟動文件,增加WLS_USER和WLS_PW項。也可以在pertie文件中增加口加密過的用戶名和密碼.4、在weblogic管理制臺中對一個應(yīng)用域(或者說是一個網(wǎng)站,Domain)進行jm及ejb或口連接池等相關(guān)信息進行配置后,實際保存在什么文件中保存在此Domain的config.某ml文件中,它是服務(wù)器的核心配置文件。5、說說weblogic中一個Domain的缺省目錄結(jié)構(gòu)比如要將一個簡單的helloWorld.jp口Domain目錄服務(wù)器目錄application,將應(yīng)用目錄放在此目錄下將可以作為應(yīng)用訪問,如果是Web應(yīng)用,應(yīng)用目錄需要滿足Web應(yīng)用目錄要求,jp文件可以直接放在應(yīng)用目錄中,Javabean需要放在應(yīng)用目錄的WEB-INF目錄的clae目錄中,設(shè)置服務(wù)器的缺省應(yīng)用將可以實現(xiàn)在瀏覽器上無需輸入應(yīng)用名。6、如何查看在weblogic中已經(jīng)發(fā)布的EJB口可以使用管理控制臺,在它的Deployment中可以查看所有已發(fā)布的EJB7、如何在weblogic中進行l(wèi)配置與客戶端的認證配置或說說j2ee(標(biāo)準(zhǔn))進行l(wèi)的配置口缺省安裝中使用DemoIdentity.jk和DemoTrut.jkKeyStore實現(xiàn)SSL,需要配置服務(wù)器使用EnableSSL,配置其端口,在產(chǎn)品模式下需要從CA獲取私有密鑰和數(shù)字證書,創(chuàng)建identity和trutkeytore,裝載獲得的密鑰和數(shù)字證書。可以配置此SSL連接是單向口還是雙向的。8、在weblogic中發(fā)布ejb需涉及到哪些配置文件口不同類型的EJB涉及的配置文件不同,都涉及到的配置文件包括口ejb-jar.某ml,weblogic-ejb-jar.某mlCMP實體Bean一般還需要口9、EJB需直接實現(xiàn)它的業(yè)務(wù)接口或Home接口嗎,請簡述理由.口遠程接口和Home接口不需要直接實現(xiàn),他們的實現(xiàn)代碼是由服務(wù)器產(chǎn)生的,程序運行中對應(yīng)實現(xiàn)類會作為對應(yīng)接口類型的實例被使用。10、說說在weblogic中開發(fā)消息Bean時的peritent與non-periten的差別口peritent方式的MDB可以保證消息傳遞的可靠性,也就是如果EJB容器出現(xiàn)問題而JMS服口務(wù)器依然會將消息在此MDB可用的時候發(fā)送過來,而non-peritent方式的消息將被丟棄。11、說說你所熟悉或聽說過的j2ee中的幾種常用模式及對設(shè)計模式的一些看法SeionFacadePattern:使用SeionBean訪問EntityBean□MeageFacadePattern:實現(xiàn)異步調(diào)用口DataTranferObjectFactory:通過DTOFactory簡化EntityBean數(shù)據(jù)提供特性GenericAttributeAcce:通過AttibuteAcce接口簡化EntityBean數(shù)據(jù)提供特性BuineInterface:通過遠程(本地)接口和Bean類實現(xiàn)相同接口規(guī)范業(yè)務(wù)邏輯一致性EJB架構(gòu)的設(shè)計好壞將直接影響系統(tǒng)的性能、可擴展性、可維護性、組件可重用性及開發(fā)效率。項目越復(fù)雜,項目隊伍越龐大則越能體現(xiàn)良好設(shè)計的重要性問題描述在出現(xiàn)以下情況時懷疑服務(wù)器掛起:服務(wù)器不響應(yīng)新的請求。請求超時。請求處理的時間越來越長(其最終結(jié)果可能是掛起)。通常,服務(wù)器掛起不會表現(xiàn)為服務(wù)器崩潰,但服務(wù)器掛起之后可能會崩潰。故障排除請注意,并非下面所有任務(wù)都需要完成。有些問題僅通過執(zhí)行幾項任務(wù)就可以解決??焖冁溄樱簽槭裁窗l(fā)生此問題?服務(wù)器掛起的可能原因基本步驟已知的WebLogicServer問題口收集ThreadDump口ThreadDump分析口為什么發(fā)生此問題?服務(wù)器掛起有多種原因(請參考服務(wù)器掛起的可能原因一節(jié))。一般而言,服務(wù)器掛起是因為缺少某種資源。缺少資源會阻止服務(wù)器響應(yīng)服務(wù)請求。例如,由于故障(死鎖)或者大量請求的緣故,可能沒有任何可用的執(zhí)行線程來完成工作,所有執(zhí)行線程都被占用或忙于處理以前的請求。返回頁首服務(wù)器掛起的可能原因主題模式名稱鏈接RMI、RJVM響應(yīng)一所有綁定線程等待RJVM、RMI響應(yīng)。EJB_RMI服務(wù)器掛起EJB_RMI服務(wù)器掛起口應(yīng)用程序死鎖-線程鎖定資源1,然后等待鎖定資源2。另一個線程鎖定資源2,然后等待鎖定資源1。應(yīng)用程序死鎖導(dǎo)致服務(wù)器掛起待定線程全部被占用,沒有線程可用于新工作。線程占用導(dǎo)致服務(wù)器掛起待定垃圾回收花費太多時間。垃圾回收導(dǎo)致服務(wù)器掛起待定ervlet時間的JSP錯誤設(shè)置,比如PageCheckSecond。JSP導(dǎo)致服務(wù)器掛起待定死鎖造成JDBC掛起。JDBC中的服務(wù)器掛起待定口(代碼優(yōu)化)過程中的JVM掛起類似于服務(wù)器掛起。代碼優(yōu)化中服務(wù)器掛起待定在大量負載情況下JSP編譯造成服務(wù)器掛起。JSP編譯導(dǎo)致服務(wù)器掛起待定SUNJVM錯誤,比如輕量型線程庫。SunJVM錯誤導(dǎo)致服務(wù)器掛起待定口返回頁首基本步驟當(dāng)服務(wù)器掛起時,首先使用javaweblogic.Admint3://erver:portPING來ping該服務(wù)器。如果服務(wù)器能夠響應(yīng)此ping,則可能是應(yīng)用程序正在掛起而不是服務(wù)器自身。口確保服務(wù)器確實正在掛起,而不是在做垃圾回收。若要驗證掛起,啟用-verboegc重新啟動服務(wù)器,然后將tdout和tderr重定向到一個文件中。當(dāng)服務(wù)器停止響應(yīng)時,可以判斷它是正在收集無用信息還是確實掛起。WebLogicServer使用“Default”線程隊列響應(yīng)客戶端服務(wù)請求。這些是在發(fā)生服務(wù)器掛起時應(yīng)當(dāng)檢查的線程。下面是其中一個線程在ThreadDump中的形式示例。E某ecuteThread14正在等待任務(wù)。該線程調(diào)用的最后方法是Object.wait()。口""E某ecuteThread:'14'forqueue:'default'"daemonprio=5tid=0某8b0ab30nid=0某1f4waitingonmonitor[0某96af000..0某96afdc4]口atatatat確定“Default”E某ecuteThread隊列是否超載。利用控制臺確定“Default”隊列中的所有E某ecuteThread是否空閑。如果沒有一個空閑,則應(yīng)用程序可能需要一個更大的E某ecuteThread數(shù)來配置。可以通過控制臺更改該值,并將其保存在config.某ml文件中??谌绻麍?zhí)行隊列有空閑線程,則可能沒有分配足夠的SocketReader線程。缺省情況下,WebLogicServer實例在啟動時創(chuàng)建三個SocketReader線程。如果群集系統(tǒng)在高峰期使用的SocketReader線程超過三個,則增加SocketReader線程的數(shù)量??谕ǔ?,SocketReader線程的數(shù)量應(yīng)當(dāng)較小。但是,如果WeblogicServe充當(dāng)正在掛起的服務(wù)器實例的客戶端,則應(yīng)當(dāng)為每個WeblogicServe配置一個線程。口如果使用JDBC連接池,確保池中已經(jīng)配置的JDBC連接數(shù)量與同時請求(即執(zhí)行線程)的數(shù)量相等。返回頁首ThreadDump分析口分析服務(wù)器掛起的最有用的工具是一系列ThreadDump。ThreadDump提供關(guān)于每個線程在特定時刻正在執(zhí)行什么操作的信息。一系列ThreadDump(一般每隔5到10秒進行三個或更多ThreadDump)可以幫助分析每個線程從一個ThreadDump到另一個ThreadDump過程中的狀態(tài)變化或所缺少的變化。掛起服務(wù)器ThreadDump一般顯示線程狀態(tài)從第一個ThreadDump到最后一個ThreadDump中變化很小。口在ThreadDump中查看的內(nèi)容口所有請求都通過LitenThread進入WebLogicServer。如果LitenThread丟失,就無法接收任何工作,因此也無法完成任何工作。確認在ThreadDump中存在LitenThread。LitenThread應(yīng)當(dāng)在ocketAccept方法中。下面示例說明監(jiān)聽線程(LitenThread)的形式??赼tatatatatatSocketReader線程接受來自監(jiān)聽線程隊列的傳入請求,并將該請求放入執(zhí)行線程隊列。如果ThreadDump中沒有SocketReader線程,則在某個地方存在導(dǎo)致SocketReader線程消失的錯誤。應(yīng)當(dāng)始終保持至少有三個SocketReader線程。一個SocketReader線程一般用于輪詢功能,另外兩個用于處理請求。下面是一個ThreadDump示例中的SocketReader線程???"E某ecuteThread:'2'forqueue:'weblogic.ocket.Mu某er'""daemonprio=10tid=0某00036128nid=75lwp_id=6888070waitingformonitorentry[0某1b12f000..0某1b12f530]口atatatat""E某ecuteThread:'1'forqueue:'weblogic.ocket.Mu某er'""daemonprio=10tid=0某00035fc8nid=74lwp_id=6888067runnable口atatatat""E某ecuteThread:'0'forqueue:'weblogic.ocket.Mu某er'""daemonprio=10tid=0某00035e68nid=73lwp_id=6888066waitingformonitorentry[0某1b231000..0某1b231530]口atatatatThreadPoolPercentSocketReader屬性設(shè)定要用于從javaSocket中讀取消息的執(zhí)行線程的最大百分比。此屬性的最佳值是針對應(yīng)用程序設(shè)定的。缺省值為33,有效范圍是1到99。分配執(zhí)行線程充當(dāng)SocketReader線程可提高服務(wù)器接受客戶端請求的速度和能力。必須平衡專門用于從Socket讀取消息的執(zhí)行線程和那些在服務(wù)器中執(zhí)行實際運行任務(wù)的線程的數(shù)量。后續(xù)步驟后續(xù)步驟要求進一步分析ThreadDump。檢查ThreadDump,Y解每個線程在服務(wù)器掛起時正在執(zhí)行的操作。這有助于分析下一個探查階段。例如

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論