Tuesday Jan 22, 2013

The WebLogic 12c Book is Finally Here

WebLogic 12c Distinctive Recipes for software architects, administrators and developers -- who know quite a bit about WebLogic, want to know more, but don’t want the typical ‘recipe book’ full of screenshots. This new book is a collection of best practice in administrating WebLogic, large-scale deployments,  performance-tuning biggest mistakes and tools, the JVM, using JMX with your own applications, stuck threads, JDBC myths, effectively detecting memory leaks, Java EE examples (deployments and NetBeans projects), Oracle Fusion Middleware (Service Bus, SOA Suite etc.) and WebLogic in the Cloud without the hype. The book provides insights you won’t find in the manual, like recommendations, discussions, best practices, deployable projects, webcast videos and directions on when to use a feature – and when not to. With all this and more, this book is the perfect complement to official courses and manuals. Check it out on Amazon.com.

Friday Jan 18, 2013

Troubleshooting Tools Part 1 - VisualVM

A variety of free troubleshooting and debugging tools exist but which ones are really useful when analyzing issues with WebLogic Server?  In this new blog post series, I will talk about some of the best tools that are available, easy to use, free, and very effective in identifying a bunch of issues.  In this first post I will cover VisualVM.

VisualVM most recent version, or 1.3.5, was released on 11/13/2012.  This tool consists of an user-friendly visual interface for monitoring running JVMs.  Multiple instances of WLS or Java can be monitored at the same time by just connecting to running local or remote JVMs.  VisualVM needs to run on Oracle Sun JDK 6+, the JDK, not the JRE. VisualVM can be started as follow to specify the JDK to run it it on.

visualvm --jdkhome "JDK_location", or visualvm --jdkhome "d:\jdk160_24"

Alternatively, /etc/visualvm.conf can be modified to specify a desired JDK.  After launch, the list of local running Java instances will be displayed on the left panel under applications.  In Remote, you can define the host of other running Java instances.  By selecting a running server and clicking on open, you should get a screen similar to the following:

In Start Page, online documentation of VisualVM can be easily accessed.  Tags next to Start Page are specific to open JVM instances.  In my case, you will find a Weblogic Server instance with its process id (pid).

Underneath, Overview reports all JVM settings as well as many system properties including Weblogic specific properties.

Monitor gives access to realtime monitoring of CPU, Heap, Classes and Threads.  You can also force a garbage collection (GC) or issue a heap dump for further analysis.

Threads reports all threads activity in realtime but also allows to take thread dumps.  All thread dumps will be attached to the relevant application process on the left panel and saved in C:\Users\<user_name>\AppData\Local\Temp\visualvm.dat.  Example: C:\Users\lgoldszt\AppData\Local\Temp\visualvm.dat\localhost_6352\threaddump-1358534350679.tdump.  Thread dumps can be further diagnosed with ThreadLogic.

In Samplers, you can record CPU or memory usage activity.  This is neat to debug potential memory leak and high CPU usage threads.

Finally, Profiler allows to identify where most of the time is being spent and which objects consume most of the memory.

Snapshots of memory can be taken and compared with others, see File - Compare Memory Snapshots.  

Also VisualVM comes with a bunch of easy to install plugins as you can see below:

VisualVM doesn't have an MBeans tab like JConsole.  However, this can be very easily changed by installing the available VisualVM-MBeans plugin.  

With its extensive features, especially including those offered by individual plugin, VisualVM is the tool of choice and combine characteristics of tools such as JConsole, jstat, jmap, or jstack.

Among other choices, the download page gives you the opportunity to use the VisualVM Eclipse launcher plugin.

For further information and demos please visit VisualVM demo and features

Thursday Jan 03, 2013

Turkcell's usage of WebLogic and Coherence across its Telecom. Environment

Turkcell is the leading mobile phone operator of Turkey, based in Istanbul. The company has over 35 million subscribers with over 53% marketshare. In this video, Mike Lehmann, Senior Director of Product Management at Oracle and Niyazi Fellahoglu, Senior Expert, Application & Web Server Administrator at Turkcell discuss how Turkcell is using Oracle WebLogic Server and Oracle Coherence throughout the organization. Niyazi discusses their application architecture which is multi-tiered with load balancer, web tier, application tier, and business logic tier. The applications are of many types -- web based applications, messaging applications, SOA-based applications and more. With most of their applications running on WebLogic, Turkcell has a large deployment with around 550 machines, 400 domains, and 1600 instances of WebLogic Server, which has enabled high performance, scalability, stability, and ease of use across its environment. Turkcell has a robust backend infrastructure, processing 70 million messages per day. Niyazi discusses how the environment is on ‘auto pilot’J taking advantage WLST scripting. In addition, they are using Oracle Coherence for session management, server affinity, and uninterrupted performance. Turkcell is using Coherence for its classic use cases -- for offloading from backend into Coherence. Turkcell customers demand long lived (never ending) sessions. Offloading session management to Coherence enables this and makes customers happy. Another use case is to provide customers with uninterrupted service during new instance deployment or upgrade etc which again results in increased customer sat. Turkcell plans to use Enterprise manager 12c for consolidation planner and other capabilities like managing the Coherence clusters.


The official blog for Oracle WebLogic Server fans and followers!

Stay Connected


« January 2013 »