Oracle WebLogic Server 12c White Paper
In the white paper, there is a section entitled Significant Performance Improvements with the following points:- Improve Service Levels with the World’s Fastest App Server
- Enhance Cluster Performance with Active GridLink for RAC
- Speed Up Multi-Node Configurations with Oracle Traffic Director
- Accelerate Business Continuity with New DR Architecture
- Increase Scalability with Oracle Coherence
- Speed-Up Messaging with JMS Improvements
Let's dive a little deeper into each of these points to get past the marketing chatter.
Improve Service Levels with the World’s Fastest App Server
Oracle touts SPECjEnterprise2010 performance tests as showing that WebLogic is the "clear leader in multiple categories" and "the world’s fastest application server". Unfortunately, there is no reference to which tests are used to back up this claim.
A cursory check at the SPECjEnterprise2010 results site shows that there were no test results published on WebLogic 12c at the time the white paper was published in January 2012 (a SPECjEnterprise2010 test on WebLogic 12c was later published on March 27th, 2012).
The white paper is actually referring to a previous test performed on WebLogic 10.3.5 to make its claims. While the result of 40,104 EjOPS in the test is marketed as a "world record" for an application server, it must be noted that the test was performed on the largest hardware platform out of all the tests (SPARC T4-4, 128 cores, 16 chips). Therefore, it's not straightforward to make comparisons between the results of different application servers.
In fact, we cannot draw definitive conclusions about the difference in performance between WebLogic 12c and WebLogic 11g (10.3.5) based on their SPECjEnterprise2010 results due to the fact that they were run on very different platforms.
Enhance Cluster Performance with Active GridLink for RAC
GridLink datasources were introduced in WebLogic 11g (10.3.4) to enhance integration between WebLogic and Oracle Real Application Clusters (RAC) environments. They are a definite improvement over the Multi-Datasource feature as they allow for:- Better load balancing across RAC nodes as the Gridlink datasources can react to Oracle Fast Application Notification (FAN) events issued by the Oracle Notification System (ONS)
- Fast Connection Failover when RAC node outages occur
- XA Affinity so that database operations within a global transaction are directed to the same RAC node
While this feature is great for service availability, it is not a new feature for WebLogic 12c as it was introduced in WebLogic 11g.
Speed Up Multi-Node Configurations with Oracle Traffic Director
Oracle Traffic Director is Oracle's software load-balancing solution, and is independent from WebLogic Server 12c (although it integrates with it). It's currently only available for the Oracle Exalogic platform, and therefore it would be very difficult for anybody to evaluate since it is very doubtful that organizations have spare Exalogic machines lying around for evaluation purposes.The white paper claims that Oracle Traffic Director achieves 3.5 times more throughput and 28% less CPU utilization than Apache, although there are no evidence available of the tests performed to back up this claim.
If your organization is moving to the Exastack platform, then it would be worthwhile to execute some stress tests using Oracle Traffic Director to determine whether using it as your load balancing solution is worth the cost.
Accelerate Business Continuity with New DR Architecture
One of the key new features in WebLogic 12c from a performance / DR perspective is the ability store transaction logs in the database rather than on the file system.Previously, transaction logs could only be stored on the file system. In order to allow for transaction recovery on a different node in a WebLogic cluster due to node failure, the transaction logs had to be stored on redundant, shared storage such as a SAN or NAS.
The ability to store transaction logs on the database allows for greater flexibility during disaster scenarios, as the transaction logs can now be replicated to the DR site to allow for transaction recovery during a DR environment failover.
However, there is the very real possibility that database operations are slower than file system operations in a given environment, and that this can actually cause a decrease in system performance, since operations on transactions logs are high-volume. The potential trade-off between DR flexibility and performance needs to be weighed very carefully.
On the flip side, do not assume that a file store for transaction logs is always more performant, as SAN / NAS storage is also network-based, and can be slow if not configured properly or if the network is shared with other applications.
Increase Scalability with Oracle Coherence
Oracle Coherence is a separate product that can integrate with WebLogic Server to provide an in-memory data cache. An in-memory data cache at the application server level can significantly speed up transactions that can query data stored in the cache.While Oracle Coherence is marketed in this white paper, it is not new to WebLogic 12c and was available in previous versions of WebLogic.
There is a new Elastic Data feature in the Oracle Coherence 3.7 that allows for "near-memory-speed access to data regardless of storage medium", according to the white paper. Cameron Purdy, the Vice President of Development for Coherence is quoted as saying:
There's basically no performance delta between in memory and flash for us, thanks to some R&D we did around flash devices and Java's NIO capabilities. So we're able to drive solid state storage devices at a very, very high rate. What this allows us to do, both from the Garbage Collection (GC) optimisations that we've done in 3.7, as well as the ability to transparently overflow to flash, is to run significantly larger heap sizes without significant GC penalties. At the same time whatever doesn't fit on the heap is automatically stored on flash. So it is a pretty dramatic increase in terms of the amount of information that we can manage.
While this is not an improvement with WebLogic Server 12c itself, this can definitely be viewed as a significant performance benefit if you are considering WebLogic Server 12c in conjunction with the Coherence product as a data cache to improve response times for application transactions.
Speed-Up Messaging with JMS Improvements
Oracle states that there are specific performance improvements to the JMS system that result in 3x more throughput on conventional hardware. Here, it is pleasant to see that Oracle is making performance improvements to the server that are not restricted to, or optimized only for, the Exalogic platform. While I do not have the statistics, I would say that it is a safe assumption to state that the vast majority of organizations are running WebLogic on "conventional" hardware, and not on the Exalogic platform.Again, there is no backing evidence of the claim of "3x more throughput", so it's not possible to evaluate the validity of this claim as the test design and results are not published.
Beyond the JMS improvements for conventional hardware, there are further optimizations for the Exalogic platform: Elastic Messaging Overflow, Lockless Request Manager, and Exabus.
I could not find any information about the Elastic Messaging Overflow feature, so it would be greatly appreciated if anybody could enlighten me.
The Lockless Request Manager is an optimization for WebLogic running on the Exalogic platform that enables higher concurrency by more efficiently using thread pools with the Exalogic processors. While not specific only to JMS, this optimization is supposed to greatly improve JMS throughput.
Exabus refers to the improvements that Oracle developed for the Infiniband networking layer in Exalogic. These improvements include enhancements and fixes for the Open Fabrics Enterprise Distribution (OFED) Infiniband driver stack, protocols for faster Infiniband access, and optimizations in WebLogic to take advantage of the Infiniband protocols and networking.
Other Performance Improvements
There are some other performance-related enhancements that, while not touted by Oracle's white paper, I think are definitely worth highlighting.Java 7 Support
WebLogic 12c is the first commercial application server that provides support for the Java 7. If you use the Java HotSpot VM (JRockit does not yet support Java 7 at the time of this writing), you can upgrade and use the Java 7 VM and your application will automatically benefit from some of the inherent performance benefits of the Java 7 platform such as:- Improved performance with Strings
- Improved performance with arrays
- New G1 garbage collector
- Tiered Compilation