The latest version of Terracotta, an open source JVM clustering framework, includes new features like cluster visualization tools and official support for Tomcat 6 platform. Terracotta team announced on Monday, the general availability of version 2.6 of the product which also includes performance improvements in several common use-cases.
The cluster visualization and monitoring tool suite provides a view of the overall health and performance of application clusters. Operators and developers can use these tools to monitor application performance metrics like CPU usage, network and disk activity, Terracotta statistics, object change rates and garbage collection cycles. These tools include Cluster Visualization and Snapshot Visualization run-time graphs which are stored in a database for offline view at a later time. The snapshots are viewed using lock profiler in Terracotta administration console to find deadlocks and other locking hotspots in the application code.
Ari Zilka, Terracotta's CTO, recently wrote a blog entry explaining more about the visualization tools and lock profiler. He explained the profiler tool features and how to use it to diagnose runtime performance hotspots.
Terracotta's support for Tomcat includes clustering of session and application data in web applications running on the popular open source servlet container. Other new feature in Terracotta 2.6 is the addition of new projects to their Forge Project site which now includes EHCache and Hibernate integrations. These two frameworks were previously available in the core Terracotta kit. Forge project site provides a common place for Terracotta development team and community members to collaborate on Terracotta specific integrations and projects and communicate about resolution of any defects. Terracotta Integration Module allows sets of configuration elements and supporting Java classes to be packaged together as a single module within the Terracotta configuration.
InfoQ spoke with Terracotta team about new features in the latest version. Regarding the details of cluster visualization and management tools included in the new release, they said:
The cluster visualization feature is about tuning and visibility into your application. The visualization tools are broken out into runtime statistics that you can see in real-time in addition to a statistics recorder that you can use to gather further statistics for offline processing in a special dashboard. The runtime statistics include: Java Heap, System CPU, Terracotta Transactions, Terracotta Flush and Fault Rate. In addition, there are more than 30 statistics that can be recorded, including CPU, Disk, Network, Heap, Thread Dumps, Terracotta Queue Depths and more.
You can now use the Administration Console to take and view thread dumps on all the JVMs in the cluster. Taking a series of them gives you visibility into what the threads across the cluster are doing. You can also use the Administration Console to dynamically adjust log levels on remote JVMs and to eject JVMs from the cluster for easier debugging.
Responding to a question on performance improvements, the team explained the motivation behind these improvements and how they went about accomplishing them.
The performance improvements are targeted for specific common use-cases such as iteration in tight loops while filling a cache; automatic string compression and support for interned strings; as well as general read/write performance improvements.
We have built a workload modeling platform to simulate the use cases that we find in our customers' applications. This modeling platform allows us to quickly create performance tests around specific code patterns that we find in the real world and pull them into our automated continuous integration and test suite. This allows us to establish performance baselines from which to extract performance improvements along specific vectors and, more importantly, to continually monitor performance from release to release to ensure there are no performance regressions.
InfoQ asked about the future roadmap of Terracotta product in terms of new features and enhancements.
A big part of 2008 for Terracotta is the development of a runtime dashboard that will provide application visibility, control, and SLA policy management including:
- Server striping and mirroring for extreme scalability
- Historical analysis (think Google Analytics for your application)
- Automated snapshots
- Application message center
- Push-button deployment
- SLA-driven deployment (deploy on demand)
- Assisted upgrades (rolling upgrades, automated software deployment)
In other news, Terracotta announced that they are bundling Hyperic SIGAR (System Information Gatherer and Reporter) with Terracotta version 2.6, to obtain key operating system and hardware information. SIGAR, part of Hyperic HQ management platform, provides services like auto-inventory, monitoring, login tracking, control and remote diagnostics.