锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
涓枃錛堝唴瀹規(guī)湁婊炲悗錛夛細(xì)http://www.oracle.com/technetwork/cn/middleware/ias/downloads/wls-main-091116-zhs.html
Oracle浼樼鑻辨枃鍗氬錛?/p>
鏉ユ簮錛?/b>http://allthingsmdw.blogspot.com/2012/02/multicast-vs-unicast-with-weblogic.html
THURSDAY, FEBRUARY 9, 2012
Multicast Vs. Unicast with WebLogic Clustering
WebLogic Clusters manage membership via messaging within its members. The members join/leave the cluster as well as update other members via messages to the entire cluster. There are two ways for cluster messaging in WLS - Multicast or Unicast. This post goes provides a brief overview of the cluster messaging and some general guidelines around using the different messaging options.
WLS Cluster
WebLogic clustering provides a homogeneous model for managing a set of server instances while providing scalability, load balancing and high availability to the services running within the member instances. For the end client, it appears like one single and uniform service with all the RASP (reliability, availability, scalability, performance) capabilities. Each cluster member is aware of other members and advertise each other services in addition to their own. Refer tohttp://docs.oracle.com/cd/E11035_01/wls100/cluster/failover.html for more details on replication and failover of clustered services.
Unicast & Multicast
Multicast is easier to explain over Unicast. Multicast is a broadcast UDP option for sending a packet/announcement over to a group that is listening on a specific multicast address and port over which the announcement is sent.There is a defined range for valid Multicast address (224.0.0.1 to 239.255.255.255). Everyone listening on the given address hears the announcement just like following a Twitter post. Some limitations with Multicast is the TTL (time to live) across machines/subnets/routers needs to be adjusted and the routers configured to retransmit the multicast packet across subnets. More details on the weblogic specific multicast configurations can be seen in my Exalogic and Multicast blog post.
Unicast is more of a point to point UDP option to send the packet to a specific member and not everyone. That way, unicast is more of a private conversation between two individuals while multicast is more of a shout to a group or room. Both are UDP based, so there can be losses unlike TCP that handles retransmissions on message loss. But Unicast can span across routers and does not have to worry about TTL without the everyone hearing the announcement. So, Network Admins in general prefer to go with Unicast over Multicast for these reasons.
WLS Cluster Configuration
When a cluster is created within a WLS Domain (either via wlst or config wizard or copy/update of existing domain), it is configured as using Unicast or Multicast messaging. As part of complete Cluster configuration, the multicast listen address and port should be specified if going with Multicast option. Also the managed servers should be targeted/added to the Cluster instance. There can be multiple clusters and any given managed server instance can only belong to atmost one cluster (or none). This will let the clustered managed servers (Admin Server should not be part of any cluster nor can cluster span domains) go with Unicast or Multicast when they are started. It should be noted that Multicast used to be the only option in WebLogic prior to 10.0 version while either Unicast or Multicast can be used from version 10 onwards.
Cluster Messaging
How does each member join the cluster and see or recognize others? At bootstrap time, the managed servers get their configuration via JMX MBeans from the Admin server (or from cached configurations if the Admin server was down) and recognize that they belong to a cluster and they have to go with Unicast or Multicast.
WLS Multicast Messaging
So, in a multicast messaging cluster, the managed servers start listening to the specified multicast address once it checks its configuration and knows it belongs to so and so cluster and has to use specified multicast address and port. Once it listens on the specified multicast address, it sends an announcement about its arrival to others via multicast - more like a shout-out. Other running clustered members of the same cluster who are already listening will respond back and add the new member to their list of known cluster members. The new member will also update its cluster list with other members. This process continues as new members get added. The membership gets renewed based on each member sending periodic announcements to other members proclaiming its liveliness. If a member goes down (shutdown or killed or not able to respond), then it wont be able to send its broadcasts and other members will drop it from the cluster list and re-add it when it comes back online. If a member is directly talking to another cluster member, just the direct socket connection is enough in establishing its membership with its connected member. Since multicast is a broadcast, just a single announcement is retain a instance's membership and let others continue to maintain it in their cluster list till its time to renew its membership. Its a mesh where every member can see every other member in the cluster.
WLS Unicast Messaging
With Unicast, WLS divides the cluster into a multiple groups, each having a max of 10 members. The division happens as the servers come up. Each of the server listens on their specified listen address and the other members can send/receive unicast packets over that listen address as every clustered member knows the configurations of other cluster members.
The oldest within the group is designated the group leader. The group leader communicates over Unicast to other members (over the specified member's listen address) within its group and adds/drops them based on them renewing their membership or not responding. The group leaders communicate amongst themselves. So, if there are 4 group leaders, each group having 10 servers, a membership announcement from server1 in group1 will be picked by GroupLeader1 of group1 and retransmitted to all other members within the group1 as well as to other three group leaders. The remaining group leaders will in-turn retransmit the membership information within their groups. This way, every change is picked up and retransmitted by the group leaders to within their group and to other groups via group leader to group leader communication. The group leaders remain the hub for each group while they themselves form a mesh with other group leaders.
Comparison between Unicast & Multicast
Multicast | Unicast |
Only option in pre-10.0 versions of WLS, continues to exist in version 10+ | Available from version 10 onwards |
Requires configurations to Routers, TTL | No configuration required |
Requires configuring the Multicast Listen Address and port | Just specify the listen address (can be Default Channel or use a Custom Network Channel for Cluster communication) |
One announcement to join/maintain membership | one transmission to group leader has to be retransmitted to other group members (N) + to other group leaders (M) who then again retransmit to their group members resulting in (NxM) packets |
Everyone sees everyone | Group Leaders have to do real heavy lifting of retransmitting every thing across its group and other group leaders and can get bogged down in just retransmitting |
Can lead to big broadcasts through the entire subnet/LAN if there are frequent joins/drops of members or change in services (JNDI updates of bound services, frequent app deployments or members going out of sync) | Not a broadcast throughout the subnet/lan, but still more packets to be sent across as Group Leaders have to retransmit everything. Can consume bigger bandwidth |
As listed in the table above, these would be my guidelines:
1. If the cluster is small and simple (under 20 members), go with Unicast. No configurations required and the group leaders wont be stretched retransmitting data.
2. If the Network configurations strictly prohibit multicast and members have to reside in different subnets and cluster sizes are still under or mid-20s, go with Unicast.
3. If its a real large cluster (over 20 members) and members can reside in the same subnet or even if they are not on same subnet but network router configurations can allow multicast, go with Multicast.
4. If over 50 members, change to network configurations to allow multicast and stick with Multicast.
5. Over 100 members, try to break up the domain into multiple separate domains and individual clusters for better administration and management even though Multicast option can handle such large domains. Or use custom scripts/wlst to manage and monitor individual members instead of relying on a single application (like console) to manage/monitor/handle all servers at the domain level.
The reason for recommending Multicast over Unicast for large clusters is due to the work load on the group leaders and retransmissions. The group leaders have to retransmit every member's packet within their group as well as to other group leaders (who again send to their group members) which can just lead to more and more work as the cluster grows bigger.
Another big reason is that WLS Multicast based messaging is quite mature and stable compared to Unicast which got only introduced with version 10. Also, with unicast, there can still be retransmits (as its not auto error correcting) and it can consume more bandwidth due to repeat retransmits by group leaders to others compared to one transmit for multicast.
Conclusions
I hope this article helps clarify the internal working of WLS Cluster membership around Unicast vs Multicast messaging while providing some guidance on the option to use based on requirements and constraints.
Posted by Sabha Parameswaran at 12:33 PM
鏂囨。:http://www.oracle.com/technetwork/middleware/weblogic/documentation/index.html
姝ゆ鍚屾椂鍙戝竷鐨勮繕鏈?em>Oracle Fusion Middleware 11g R1 (11.1.1.6.x),鍖呭惈涓嬪垪浜у搧:
聽
涓鍏辯害137綃囨枃绔狅紝宸茬粡涓婁紶瀹屾瘯錛岄櫎涓埆鏂囦歡鍥犲懡鍚嶉棶棰樺涓婁紶澶辮觸錛?5%鐨勬枃绔犲凡緇忓彲浠ョ洿鎺ユ祻瑙堟垨鎵撳寘涓嬭澆浜嗐俉ebLogic涓枃鍗氬鐩墠姝e湪鑷村姏浜庢柊鐗堟湰鐨勯氱敤Java涓棿浠剁洃鎺ц蔣浠剁殑鐮斿彂涓紙鍗曚竴杞歡鏀寔Tomcat, Resin, JBoss, WebLogic, WebSphere錛孞VM榪愯鐘舵佺洃鎺х瓑錛夛紝鍥犳榪戞湡灝嗕笉浼?xì)鍙戣〃鏂扮殑鎶鏈枃绔犮傚鏋滄?zhèn)ㄩ渶瑕佽繖浜涙枃绔犵殑word鐗堟湰錛岃鑱旂郴鏈漢璐拱錛?a href="mailto:beansoft@126.com">beansoft@126.com 鎴栬?QQ 9991483銆?/p>
聽
涓嬮潰鏄墍鏈塛ebLogic鏂囩珷绱㈠紩錛?/p>
2009-11-01 閰嶇疆 WebLogic Server 11g 闆嗙兢鍗曟湇鍔″櫒鐗堬紙Windows錛?pdf
2009-11-06 WebLogic Server 11g鑺傜偣綆$悊鍣ㄥ拰Machine閰嶇疆鍗曟満鐗堬紙Windows錛?pdf
2009-11-06 鍏充簬Spring鍜學(xué)ebLogic鐗堟湰鍏煎鐨勪竴鐐瑰皬鎻愮ず.pdf
2009-11-09 WebLogic 11g 濡備綍淇敼 Console 鐨勭鍙?pdf
2009-12 Weblogic 11 闆嗙兢鍜岃妭鐐圭鐞嗗櫒閰嶇疆蹇熷叆闂ㄨ棰?鍗曟湇鍔″櫒鐗?.pdf
2010-01-25 WebLogic鍚勪釜鐗堟湰瀵笿DK鍜孲pring鐨勬敮鎸佸害.pdf
2010-03-23 JNDI 璁塊棶澶栭儴 WebLogic 11 鏁版嵁婧愮殑鎿嶄綔姝ラ.pdf
2010-05-07 Oracle WebLogic Server 11g Rel 1 (10.3.3) 鍙戝竷.pdf
2010-07-15 WLST on Weblogic 8.1涓嬭澆鍦板潃(杞?.pdf
2010-08 WebLogic 9.2.4.0 鍙戝竷.pdf
2010-08-13 WebLogic 11g 涓嬭澆鍦板潃鍙?OEPE鎵鏈夌増鏈畼鏂逛笅杞藉湴鍧鍙?qiáng)鎵鏈夌増鏈枃妗?edoc)闃呰涓嬭澆鍦板潃.pdf
2010-08-16涔呰繚鎴栭仐蹇樼殑WebLogic Java宸ュ叿.pdf
2010-08-19 綆鍗曠殑HelloWorld Portal 搴旂敤(for WLS 10).pdf
2010-08-20闊╁浗wls鐩戞帶 WLMonitor 2.5 beta 1 鑻辨枃鐗堜笅杞?pdf
2010-08-31 Where to download file wlfullclient.jar.pdf
2010-09-09 WebLogic鍜孞DK鐗堟湰紼沖畾搴︽帓琛屾.pdf
2010-09-10 WebLogic闈欓粯鍗歌澆涓庡畨瑁匸Slient Install and Uninstall].pdf
2010-11-26 WebLogic闆嗙兢瀹炵幇HTTP澶嶅埗鐨勭畝鍗曟楠?pdf
2010-12-09 WebLogic Edoc涓叧浜巜eblogic.Deployer鐨勪竴鐐瑰皬闂.pdf
2011-02-27 濡備綍淇敼weblogic榛樿綰跨▼姹犲ぇ灝?pdf
2011-02-28 濡備綍鐮磋ВWebLogic綆$悊瀵嗙爜.pdf
2011-03 WebLogic濡備綍浣跨敤GridLink榪炴帴RAC鏁版嵁搴?pdf
2011-04-18 WebLogic鏁e寘閮ㄧ講紱佺敤鐑姞杞?pdf
2011-05-07 WebLogic 10.3.5姝e紡鍙戝竷,鎻愪緵涓嬭澆.pdf
2011-05-22 鍩轟簬JMS鐨刉eblogic Server Webservice寮鍙?pdf
2011-05-22鍩轟簬JMS鐨刉eblogic Server Webservice寮鍙?pdf
2011-07-03 WebLogic 10.3.4鏀寔JDK 7.pdf
2011-07-26鍊熷姪 SAML 瀹炵幇 WebLogic Server 9.2 鍗曠偣鐧誨綍鐩稿叧鏂囩珷.pdf
2011-07-28鍚屾椂浣跨敤Oracle Exalogic Elastic Cloud鍜孍xadata Database Machine鐨凷quareTwo Financial鍏徃[杞琞.pdf
2011-07-31 3D绔嬩綋灞曠ず Oracle Exalogic Elastic Cloud X2-2.pdf
2011-08-03 鍏充簬WebLogic Windows 7鐗堟湰.pdf
2011-08-04 ExaLogic EL X2-2 Edoc鍦ㄧ嚎闃呰鍙?qiáng)涓嬭浇鍦板潃,瀹夎瑙嗛.pdf
2011-08-12 WebLogic濡備綍澶勭悊socket muxers[杞琞.pdf
2011-08-23 Weblogic 10.3.5鍦?4浣峎indows緋葷粺涓嬬殑瀹夎鍜岄厤緗?pdf
2011-08-24 WebLogic涓殑鐩戣浠〃鐩?鍥炬枃,瑙嗛).pdf
2011-08-26 WEBLOGIC JMS 鐐瑰鐐歸厤緗瑙?pdf
2011-08-29浣跨敤WLST鍒涘緩鍜屽垹闄ataSource.pdf
2011-08-30 WebLogic Express鏄厤璐圭殑鍢?WebLogic鏄厤璐圭殑鍢?pdf
2011-08-30 WLST蹇熷垱寤哄崟鏈篋omain.pdf
2011-08-31 Solaris涓嬪浣曞畨瑁匴ebLogic.pdf
2011-09-02浣跨敤浠g悊鎻掍歡鏃剁兢闆嗕腑鐨?HTTP 璐熻澆騫寵 闂[杞琞.pdf
2011-09-04 AIX涓媁ebLogic瀹夎鎿嶄綔鎵嬪唽[杞琞.pdf
2011-09-10璋冭瘯鍩烘湰WebLogic JDBC闂[杞琞.pdf
2011-09-29 浼樺寲WebLogic 8鏈嶅姟鍣ㄦц兘鍙傛暟[杞琞.pdf
2011-10 WebLogic Server Blog 鍐呭鏀惰棌.pdf
2011-10-07 DomainHealth 1.0.0 鍙戝竷.pdf
2011-10-10 浣跨敤WLST閰嶇疆WebLogic瀵嗙爜絳栫暐.pdf
2011-10-19 WebLogic NodeManager 榪滅▼鏀誨嚮婕忔礊琛ヤ竵涓嬭澆.pdf
2011-11 GlassFish 4.0 瑙嗛鏇濆厜,鎺у埗鍙伴叿浼糤ebLogic.pdf
2011-11-09 WebLogic Web 搴旂敤鏄犲皠鍒版牴鐩綍.pdf
2011-11-28 濡備綍鎶撳彇Thread Dump灝忕粨.pdf
2011-12 Oracle WebLogic Server 12c (12.1.1)姝e紡鍙戝竷.pdf
2011-12 WebLogic鎵鏈夌増鏈珽doc鍦ㄧ嚎闃呰鍙?qiáng)涓嬭浇鍦板潃.pdf
2011-12 杞澆錛峸eblogic 綾誨姞杞芥満鍒?pdf
2011-12-02 Weblogic - Socket Muxers in Thread Dumps[杞琞.pdf
2012-01-29鍚勪釜鐗堟湰WebLogic鎵鏀寔鐨凧DK鍙?qiáng)JavaEE鐗堟湰.pdf
Accessing JMX for Oracle WebLogic 11g.pdf
BEA Weblogic Server瀹濆吀[涓枃鍥劇墖鐗圿 [PDF].pdf
BEA Weblogic銆乀uxedo 涓嬭澆鍦板潃[杞琞.pdf
BEA 浜у搧鏂囨。[杞琞.pdf
BEA-000337 閿欒瑙e喅[杞琞.pdf
BEA-000402闂瑙e喅 but the maximum number of socket reader threads allowed by the configuration is.pdf
BEA鍏徃琚敹璐墠鎵鏈夌増鏈蔣浠舵敮鎸佺殑鎿嶄綔緋葷粺絳夐厤緗俊鎭垪琛?pdf
chaowang鍦ㄧ敳楠ㄦ枃紺懼尯鏃ョ殑婕旇鏁欐潗涓嬭澆.pdf
Debugging WebLogic Platform Internals.pdf
Enable IIOP and default user for the WebLogic server[杞琞.pdf
Installing Oracle WebLogic Server and Creating a Domain [Linux].pdf
Jython鐩稿叧鏂囩珷鏀惰棌.pdf
Linux涓媁eblogic 11g jar鏍煎紡瀹夎鍖呭浣曞畨瑁?pdf
Managing WebLogic servers with JConsole.pdf
Monitoring WebLogic 9 using JMX.pdf
Oracle Fusion Middleware鏀寔鐨凧DK絳夌郴緇熼厤緗垪琛ㄤ俊鎭?pdf
Oracle WebLogic Integration.pdf
Oracle WebLogic Server 11g Monitor and Tune Performance璇劇▼浠嬬粛[杞琞.pdf
Oracle WebLogic Server Enterprise Edition 鎶ヤ環(huán).pdf
Oracle WebLogic Server Information Center[杞琞.pdf
Oracle瀹樻柟鍏充簬WebLogic鏈嶅姟鏈夋晥鏈熺殑鏂囨。.pdf
Performance and Tuning for Oracle WebLogic Server 11g[PDF] Download.pdf
Reason of java.lang.InternalError錛?erroneous handlers.pdf
startWebLogic.sh鍚姩澶辮觸錛屾彁紺篍rror initializing Embedded LDAP Server閿欒.pdf
WebLogic 10.3.4姝e紡鍙戝竷,鎻愪緵涓嬭澆,鏀寔JSF 2.0, JPA 2.0鍜孞AX-RS 1.1[鍥綸.pdf
WebLogic 10鍚勪釜鐗堟湰璇︾粏鍚嶇О.pdf
Weblogic 11g 瀹夎閮ㄧ講鎵嬪唽.pdf
WebLogic 11gR1 PS3鎵鏈塀EA閿欒浠g爜璇︾粏淇℃伅鍒楄〃.pdf
WebLogic 8 debug flags.pdf
WebLogic 8 鐩戞帶 wlstat 0.2, 鏂逛究鐩戞帶weblogic鐨凷ockets,jvm,jdbc,threads,session.pdf
WebLogic 8.1 FTP 涓嬭澆鍦板潃(Windows鐗堟湰).pdf
WebLogic 8.1.6 Windows 瀹夎鍖呬笅杞?pdf
WebLogic 8.1.6鐨勬墍鏈塀EA閿欒浠g爜绱㈠紩.pdf
WebLogic 9 瀹炵幇鍩轟簬Oracle鏁版嵁搴撶殑鐢ㄦ埛韜喚瀛樺偍紺轟緥浠g爜.pdf
Weblogic 9.2 閮ㄧ講 8.1 涓嬭繍琛岀殑 EAR 鍑洪敊鐨勯儴鍒嗚В鍐蟲柟娉?pdf
WebLogic 9.2鐨勬墍鏈塀EA閿欒浠g爜绱㈠紩.pdf
Weblogic for aix鎿嶄綔鎵嬪唽.pdf
WebLogic JDBC 椹卞姩鐨勯厤緗?pdf
WebLogic JSP Servlet 綰跨▼瓚呮椂璁劇疆鍙傛暟.pdf
WebLogic Portal鏈嶅姟鍣ㄩ厤緗墜鍐?pdf
WebLogic Server 10.3.4 Released 鈥?Key APIs of Java EE 6 and More[杞琞.pdf
WebLogic Server 9 鐨?Web Service 緙栫▼涔?JWS.pdf
WebLogic Server 9.2 闆嗙兢閰嶇疆鍗曟湇鍔″櫒鐗?pdf
WebLogic Server 9.2 闆嗙兢閰嶇疆鍗曟湇鍔″櫒鐗堝拰澶氭湇鍔″櫒鐗?PDF).pdf
WebLogic Server 9.2 闆嗙兢閰嶇疆澶氭湇鍔″櫒鐗?pdf
WebLogic versioned deployment side-by-side[杞琞.pdf
WebLogic 鏈鏂扮増鏈笅杞藉湴鍧.pdf
weblogic.Admin[杞琞.pdf
weblogic.security.internal.encryption.EncryptionServiceException錛?com.rsa.jsafe.JSAFE_PaddingException錛?Could not perform unpadding錛?invalid pad byte.pdf
weblogic.utils.classloaders.FilteringClassLoader鎵鍦ㄥ寘.pdf
WebLogic8.1鎵撳嵃璇︾粏鐨刯dbc鏃ュ織.pdf
Weblogic8.1闆嗙兢涓壒閲忓惎鍔ㄥ拰鍏抽棴鎵鏈夋湇鍔″櫒鐨勮剼鏈琜杞琞.pdf
weblogic9 jdbc鏃ュ織璺焪eblogic8鐨勫尯鍒?pdf
WebLogic鍏徃鍙戝睍綆鍙?pdf
WebLogic鍚敤鍩熶箣闂寸殑璺ㄥ煙瀹夊叏 Enable Cross Domain Security between domains[杞琞.pdf
WebLogic濡備綍寮哄埗鍏堝姞杞絎EB-INF錛弆ib涓嬬殑jar.pdf
WebLogic濡備綍鏇存崲64浣岼DK[杞琞.pdf
WebLogic瀵嗙爜鎭㈠錛堜竴錛塠杞琞.pdf
WebLogic瀵嗙爜鎭㈠錛堜簩錛塠杞琞.pdf
Weblogic鐨凪achine,Server,Domain,Cluster鐨勫叧緋?pdf
WebLogic闆嗙兢鐜涓嬪浣曡闂瓻JB瀹炵幇璐熻澆鍧囪 .pdf
WLS10.3.0涓紝榪炴帴嫻嬭瘯瀵艱嚧鐨刢onnection pool shrinking(disabling)闂鍒嗘瀽[杞琞.pdf
WLST鑴氭湰鑾峰彇ThreadDump[杞琞.pdf
[WebLogic]dev2dev 2004 鍚堣鏈笅杞?pdf
[杞琞EJB鍦╓eblogic Server闆嗙兢涓殑瀹炵幇.pdf
[杞琞WebLogic 10.3.4 鏂板姛鑳斤細(xì)CAT - Classloader鍒嗘瀽宸ュ叿.pdf
[杞琞WebLogic ClassCastException 閿欒瑙f瀽.pdf
[杞琞灝哤ebLogic Server娉ㄥ唽涓篧indows鏈嶅姟.pdf
銆愯漿銆慦eblogic鎸傝搗銆佸畷鏈洪棶棰樺垎鏋愬強(qiáng)浼樺寲.pdf
浣跨敤VisualVM榪滅▼鐩戞帶WebLogic鏈嶅姟鍣↗VM.pdf
浣跨敤WLST鐩戞帶搴旂敤鐘舵乕杞琞.pdf
浣跨敤WLST鑴氭湰鍒楀嚭JMS闃熷垪涓殑娑堟伅.pdf
鍒犻櫎WebLogic 10鐨勭紦瀛榌杞琞.pdf
鍘焏ev2dev鐨刉ebLogic General綺懼崕璐存?pdf
濡備綍鎶撳彇Thread Dump灝忕粨.pdf
寮鍙戣嚜瀹氫箟鐨凪Bean鏉ョ鐞咼2EE搴旂敤(絎洓閮ㄥ垎)[杞琞.pdf
鎯沖湪WLST涓繍琛屾湰鏈哄懡浠?pdf
鐩戞帶綰跨▼鎵ц鎯呭喌,鑰楀厜鏃惰嚜鍔ㄨ緭鍑簍hread鍐呭[杞琞.pdf
綆鍗曠殑Oracle WebLogic 11g瀹夎閮ㄥ睘鎵嬪唽(PDF).pdf
杞?澶氭満nodemanager嫻嬭瘯灝忚&weblogic103.pdf
閰嶇疆鍩轟簬Coherence 鐨刉ebLogic Server浼?xì)璇澖帯鐞哰杞琞.pdf
Weblogic 8.1 JNDI 鏁欑▼PPT.swf
WebLogic Server 8.1 Performance Tuning Guide(璋冧紭涓枃鏂囨。).swf
瀵筗ebLogic Server JNDI 鍚敤瀹夊叏璁劇疆.swf
璁劇疆WebLogic闆嗙兢(WebLogic 10 涓枃鏂囨。).swf
浣滆?/span>: 鍒橀暱鐐?BeanSoft@126.com 鏃ユ湡: 2011-11-28 鏈枃鐜: JDK 1.5/1.6, WebLogic 9.0 or later
褰撴湇鍔″櫒鎸傝搗,宕╂簝鎴栬呮ц兘搴曚笅鏃?/span>,灝遍渶瑕佹姄鍙栨湇鍔″櫒鐨勭嚎紼嬪爢鏍?/span>(Thread Dump)鐢ㄤ簬鍚庣畫鐨勫垎鏋?/span>. Thread dump鎻愪緵浜嗗綋鍓嶆椿鍔ㄧ殑綰跨▼鐨勫揩鐓?/span>. 瀹冩彁渚涗簡JVM涓墍鏈?/span>Java綰跨▼鐨勬爤璺熻釜淇℃伅 鏈夊緢澶氭柟寮忓彲鐢ㄤ簬鑾峰彇Thread Dump, 涓浜涙槸鎿嶄綔緋葷粺鐗瑰畾鐨勫懡浠?/span>. 鎿嶄綔緋葷粺鍛戒護(hù)鑾峰彇ThreadDump: Windows: 1. 杞悜鏈嶅姟鍣ㄧ殑鏍囧噯杈撳嚭紿楀彛騫舵寜涓?/span>Control + Break緇勫悎閿?/span>, 涔嬪悗闇瑕佸皢綰跨▼鍫嗘爤澶嶅埗鍒版枃浠朵腑 UNIX/ Linux 棣栧厛鏌ユ壘鍒版湇鍔″櫒鐨勮繘紼嬪彿(process id), 鐒跺悗鑾峰彇鍫嗘爤. 1. ps 鈥揺f | grep java 2. kill -3 <pid> 娉ㄦ剰涓瀹氳璋ㄦ厧, 涓姝ヤ笉鎱庡氨鍙兘璁╂湇鍔″櫒榪涚▼琚潃姝?/span>! JVM 鑷甫鐨勫伐鍏瘋幏鍙栫嚎紼嬪爢鏍?/span>: JDK鑷甫鍛戒護(hù)琛屽伐鍏瘋幏鍙?/span>PID騫跺仛ThreadDump: 1. jps 2. jstack <pid> 浣跨敤JVisualVM: Threads 鏍囩欏?/span>脿ThreadDump鎸夐挳. WebLogic 鑷甫鐨勮幏鍙?/span> thread dump鐨勫伐鍏?/span>: 1. webLogic.Admin 宸ュ叿 a. 鎵撳紑鍛戒護(hù)鎻愮ず絎?/span>, 閫氳繃榪愯<DOMAIN_HOME>/bin/setDomain.env璁劇疆鐩稿叧綾昏礬寰?/span> b. 鎵ц涓嬮潰鐨勫懡浠?/span> java weblogic.Admin -url t3://localhost:7001 -username weblogic -password weblogic1 THREAD_DUMP 娉ㄦ剰: Thread Dump 浼?xì)鎵撳嵃鍒版爣鍑嗚緭鍑?/span>, 濡?/span>nohup鏃ュ織鎴栬呰繘紼嬬獥鍙?/span>. 2. 浣跨敤 Admin Console a. 鐧誨綍 Admin Console , 鐐瑰嚮瀵瑰簲鐨勬湇鍔″櫒 b. 鐐瑰嚮Server 脿 Monitoring 脿Threads c. 鐐瑰嚮: Dump Thread Stack 鎸夐挳 3. 浣跨敤WLST (WebLogic Scripting Tool) connect(鈥榳eblogic鈥?'weblogic1鈥?鈥檛3://localhost:7001鈥? cd(鈥楽ervers鈥? cd(鈥楢dminServer鈥? threadDump() disconnect() exit() 娉ㄦ剰: 綰跨▼鍫嗘爤灝嗕細(xì)淇濆瓨鍦ㄨ繍琛?/span>wlst鐨勫綋鍓嶇洰褰曚笅. 4. 浣跨敤utils.ThreadDumper 鐢ㄦ硶: C:\bea\wlserver_10.3\server\lib>java -cp weblogic.jar utils.ThreadDumper Broadcast Thread dumps disabled: must specify weblogic.debug.dumpThreadAddr and weblogic.debug.dumpThreadPort Exception in thread "main" java.lang.IllegalArgumentException: Port out of range :-1 at java.net.DatagramPacket.setPort(Unknown Source) at java.net.DatagramPacket.<init>(Unknown Source) at java.net.DatagramPacket.<init>(Unknown Source) at utils.ThreadDumper.sendDumpMsg(ThreadDumper.java:124) at utils.ThreadDumper.main(ThreadDumper.java:145) 5. 濡傛灉鏈嶅姟鍣ㄦ槸浣滀負(fù)Windows鏈嶅姟鐨勬柟寮忚繍琛?/span>, 璇瘋繍琛屼笅鍒楀懡浠?/span>: WL_HOME\bin\beasvc -dump -svcname:service-name 鍏跺畠涓浜涜幏鍙?/span>Thread Dump鐨勫伐鍏鋒湁jrcmd, jrmc(JRockit VM鑷甫) ,Samurai, JProfiler絳?/span>, 榪樺彲閫氳繃JMX緙栫▼鐨勬柟寮忚幏鍙?/span>, 濡?/span>JDK鑷甫紺轟緥浠g爜: $JAVA_HOME\demo\management\FullThreadDump
]]>