2010-04-01 121 views
16

(解決了!通過僞造系統隨機生成,見下文)的Weblogic啓動緩慢(11mins)VM(VirtualBox和VMware的)

我設置了一個虛擬機圖像我的dev /建隊下。在該虛擬機內部,Weblogic域應該正在運行。我使用Ububtu服務器發行版,WLS 9.2MP3 + ALSB。

一切正常,相當快,但在開始時間WLS停止兩次可測量的時間。總共兩站的延遲時間約爲10分鐘。對於部署需要重新啓動服務器的任務,這非常煩人。 :-(

睡眠時間不是恆定的,有時在服務器啓動速度非常快,有時馬馬虎虎,有時10分鐘以上。

有趣的是,如果我按Enter鍵,同時觀察停止服務器,它喚醒WLST(Weblogic Jython shell)在VM中執行時也掛了很長一段時間,但它並沒有對Enter做出反應

這裏必須是一些開發人員運行WLS我想知道別人是否有同樣的問題?有人能解決嗎?

這裏的服務器的輸出(只是一個案例):

Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_12-b04) 
Java HotSpot(TM) Client VM (build 1.5.0_12-b04, mixed mode) 
Starting WLS with line: 
/shared2/beahome/jdk150_12/bin/java -client -Xmx256m -XX:MaxPermSize=128m -Xverify:none -da -Dplatform.home=/shared2/beahome/weblogic92 
-Dwls.home=/shared2/beahome/weblogic92/server -Dwli.home=/shared2/beahome/weblogic92/integration -Dweblogic.management.discover=true -Dwl 
w.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/shared2/beahome/patch_weblogic923/profiles/default/sysext_ 
manifest_classpath -Dweblogic.management.username=admin -Dweblogic.management.password=wlsadmin -Dweblogic.Name=LOGMGR-admin -Djava.security 
.policy=/shared2/beahome/weblogic92/server/lib/weblogic.policy weblogic.Server 
<1-Apr-2010 12:47:22 o'clock PM GMT-05:00> <Notice> <WebLogicServer> <BEA-000395> <Following extensions directory contents added to the end 
of the classpath: 
/shared2/beahome/weblogic92/platform/lib/p13n/p13n-schemas.jar:/shared2/beahome/weblogic92/platform/lib/p13n/p13n_common.jar:/shared2/beahom 
e/weblogic92/platform/lib/p13n/p13n_system.jar:/shared2/beahome/weblogic92/platform/lib/wlp/netuix_common.jar:/shared2/beahome/weblogic92/pl 
atform/lib/wlp/netuix_schemas.jar:/shared2/beahome/weblogic92/platform/lib/wlp/netuix_system.jar:/shared2/beahome/weblogic92/platform/lib/wl 
p/wsrp-common.jar> 
<1-Apr-2010 12:47:22 o'clock PM GMT-05:00> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) Client VM Ve 
rsion 1.5.0_12-b04 from Sun Microsystems Inc.> 
<1-Apr-2010 12:47:23 o'clock PM GMT-05:00> <Info> <Management> <BEA-141107> <Version: WebLogic Server 9.2 MP3 Mon Mar 10 08:28:41 EDT 2008 
1096261 > 
<1-Apr-2010 12:47:25 o'clock PM GMT-05:00> <Info> <WebLogicServer> <BEA-000215> <Loaded License : /shared2/beahome/license.bea> 
<1-Apr-2010 12:47:25 o'clock PM GMT-05:00> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING> 
<1-Apr-2010 12:47:25 o'clock PM GMT-05:00> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool> 
<1-Apr-2010 12:47:25 o'clock PM GMT-05:00> <Notice> <Log Management> <BEA-170019> <The server log file /shared2/wldomains/beaadmd/LOGMGR/ser 
vers/LOGMGR-admin/logs/LOGMGR-admin.log is opened. All server side log events will be written to this file.> 

在這裏,我們第一個延遲,最多5分鐘...

<1-Apr-2010 12:53:21 o'clock PM GMT-05:00> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.> 
<1-Apr-2010 12:53:24 o'clock PM GMT-05:00> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY> 
<1-Apr-2010 12:53:24 o'clock PM GMT-05:00> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING> 
<1-Apr-2010 12:53:25 o'clock PM GMT-05:00> <Notice> <Log Management> <BEA-170027> <The server initialized the domain log broadcaster success 
fully. Log messages will now be broadcasted to the domain log.> 
<1-Apr-2010 12:53:25 o'clock PM GMT-05:00> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to ADMIN> 
<1-Apr-2010 12:53:25 o'clock PM GMT-05:00> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RESUMING> 
<1-Apr-2010 12:53:28 o'clock PM GMT-05:00> <Notice> <Security> <BEA-090171> <Loading the identity certificate and private key stored under t 
he alias adminuialias from the jks keystore file /shared2/wldomains/beaadmd/LOGMGR/CustomIdentity.jks.> 

這裏是第二個,又達5分鐘。

<1-Apr-2010 12:58:56 o'clock PM GMT-05:00> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file /shared 
2/wldomains/beaadmd/LOGMGR/CustomTrust.jks.> 
<1-Apr-2010 12:58:57 o'clock PM GMT-05:00> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure" is now listening on 192.168.56.102:7002 f 
or protocols iiops, t3s, ldaps, https.> 
<1-Apr-2010 12:58:57 o'clock PM GMT-05:00> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 192.168.56.102:8012 for pro 
tocols iiop, t3, ldap, http.> 
<1-Apr-2010 12:58:57 o'clock PM GMT-05:00> <Notice> <WebLogicServer> <BEA-000331> <Started WebLogic Admin Server "LOGMGR-admin" for domain " 
LOGMGR" running in Development Mode> 
<1-Apr-2010 12:58:57 o'clock PM GMT-05:00> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING> 
<1-Apr-2010 12:58:57 o'clock PM GMT-05:00> <Notice> <WebLogicServer> <BEA-000360> <Server started in RUNNING mode> 

UPDATE

我想我已經得到了軌道:它必須是randon種子初始化。這可以解釋爲什麼生成鍵盤事件釋放服務器。我所做的線程轉儲,並且一個線程處於可運行狀態,但等待:

"[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=1 tid=0x0a7b06e8 nid=0xeda runnable [0x728a500 
0..0x728a6d80] 
     at java.io.FileInputStream.readBytes(Native Method) 
     at java.io.FileInputStream.read(FileInputStream.java:194) 
     at sun.security.provider.NativePRNG$RandomIO.readFully(NativePRNG.java:185) 
     at sun.security.provider.NativePRNG$RandomIO.implGenerateSeed(NativePRNG.java:202) 
     - locked <0x7d928c78> (a java.lang.Object) 
     at sun.security.provider.NativePRNG$RandomIO.access$300(NativePRNG.java:108) 
     at sun.security.provider.NativePRNG.engineGenerateSeed(NativePRNG.java:102) 
     at java.security.SecureRandom.generateSeed(SecureRandom.java:475) 
     at weblogic.security.AbstractRandomData.ensureInittedAndSeeded(AbstractRandomData.java:83) 
+1

感謝您發佈更新,但實際上您應該將解決方案作爲答案發布並接受它。 – 2010-04-01 21:32:03

+0

謝謝,會做。我覺得這對自己來說有點不健康---) – 2010-04-02 00:12:54

+1

事實上,它被鼓勵,特別是如果你找到了解決方案(你甚至可以使用SO作爲個人技術博客,使用危險風格)。 – 2010-04-03 00:45:16

回答

16

解決

WebLogic使用的SecureRandom到初始化安全子系統。 SecureRandom默認使用/ dev/urandom設備。出於某種原因,在虛擬機下讀取此設備會經常停止。生成控制檯事件有助於創建更多的隨機性,並釋放WLS。

對於測試目的,我已經改變了JRE/lib/security中/ java.security文件:

securerandom.source=file:/tmp/big.random.file 

的Weblogic現在開始在15秒內。

由於我們沒有在我們的虛擬機中測試任何安全性的東西,重複種子對我們來說完全沒問題。

6

Oracle自此創建了與此相關的Metalink註釋 在Linux虛擬環境中,FMW配置嚮導非常慢。 WLS服務器的啓動速度也很慢。 [ID 1344974.1]

...

解決方案1 ​​ 1)下載並安裝以下rpm:rng-utils-2.0-1.14.1.fc6.x86_64.rpm。請聯繫您的供應商獲取下載詳細信 2)啓動時的隨機發生器如下: rngd -r的/ dev/urandom的-o的/ dev /隨機-t 1

默認有似乎是在/ dev依賴性/ Linux上的隨機哪些塊,直到足夠的產生隨機性。沒有連接鼠標和鍵盤的虛擬服務器可能會顯着阻塞。在上面的命令中,輸入來自解除阻塞/ dev/urandom,因此等待隨機性不會成爲應用程序瓶頸。

+1

警告:運行rngd -r/dev/urandom會導致您生成的任何密鑰(pgp,ssl等)不安全,請謹慎使用! – 2014-11-11 16:24:32

8

如果您的企業標準應用程序服務器沒有權限更改您的二進制文件,您可以添加一個JVM標誌來覆蓋至少應該使用的隨機生成器。例如:

-Djava.security.egd=file:/dev/./urandom 

這樣你就不必更改任何系統設置。

+0

請注意,這可能會導致安全問題,您是否正在使用不安全的RNG。 – 2014-11-11 16:24:50

0

嘗試安裝rngd。在具有硬件RNG的現代系統上,這將創建足夠的熵。