InfoQ Homepage Performance Content on InfoQ
-
Effective Java Profiling With Open Source Tools
In this example-driven article, Joachim Haagen Skeie walks you step by step through using open source tools like JMap, VisualVM, BTrace, and EurekaJ to get under the hood of your running Java apps to effectively diagnose performance and memory problems.
-
Book Review and Excerpt: Scalability Rules
Martin Abbott and Michael Fisher's book, Scalability Rules, is a compilation of 50 rules for scaling applications based on experience garnered at eBay, Intuit, PayPal, Etsy, Folica and Salesforce. The book is a handy reference for experienced and novice architects, managers, developers and operations personnel through a mix of heuristics and a priority-benefit model to rank the rules.
-
Book Review: DTrace: Dynamic Tracing in Oracle Solaris, Mac OS X and FreeBSD
This book is written by Brendan Gregg and Jim Mauro, both expert users in DTrace and the Solaris Internals from Prentice Hall. It covers the key features of the DTrace environment, the D language that is used to write the scripts used to provide answers to questions regarding the performance of the system under question.
-
Pieter van Zyl on Benchmarking ORM Tools and Object Databases
OO7J is a Java version of the original OO7 benchmark (written in C++). This project includes benchmarking Object Relational Mapping (ORM) tools. Currently there are implementations for Hibernate on PostgreSQL, MySQL, db4o and Versant databases. InfoQ and Roberto V. Zicari from ODBMS.ORG recently interviewed Pieter van Zyl, creator of the OO7J benchmark.
-
Large-Scale Agile Design & Architecture: Ways of Working
During my 2011 QCon London keynote on "Scaling Lean & Agile: Large, Multisite or Offshore Delivery", I mentioned — as an aside — that, "Architecture is a bad metaphor. We don't construct our software like a building, we grow it like a garden." This prompted many a tweet, and some people were interested in clarification or elaboration.
-
Concurrency Controls in Data Replication
Learn about leading concurrency control mechanisms used for data replication in distributed environments, comparing synchronous and asynchronous implementations with/without locking - techniques used by Oracle RAC, TimesTen, and GigaSpaces and NoSQL databases. Explore tradeoffs among performance, consistency, deadlocks, and conflicting updates in the context of a sample distributed application.
-
The Azul Garbage Collector
Azul's recently announced Zing product brings their Garbage Collector, which achieves both pauseless garbage collection and a high tolerance to the factors which typically impact collection and application responsiveness, to Java programs running on Intel and AMD based servers. This article takes a detailed look at how Azul has been able to achieve these design goals.
-
Infinispan's GridFileSystem - An In-Memory Grid File System
Infinispan is an open source data grid platform that makes use of distributing state across nodes in a cluster. GridFileSystem is a new, experimental API that exposes an Infinispan-backed data grid as a file system. In this article, authors discuss distributed mode of Infinispan and how GridFS framework manages data caching by chunking up data using a new streaming API and storing them in a grid.
-
Scout - Extensible Server and Application Monitoring
Scout is an extensible server and application monitoring service which focuses upon ease of installation and configuration. Scout offers default alerts to help administrators understand how the application is behaving under various loads as well as allowing developers to create plugins to extend Scout.
-
Extreme Transaction Processing Patterns: Write-behind Caching
Lan Vuong shows how to optimize the performance of an application by leveraging the write-behind caching pattern which sends batch updates to the back-end database asynchronously within a user configurable interval of time, instead of doing sychronous write-through updates typical in web apps.
-
Performance Analysis and Monitoring with Perf4J
In this article Alex Devine explains how Java developers can take advantage of Perf4J, an open source toolset for adding code timing statements and for logging, analyzing and monitoring the results. Alex introduces several aspects of Perf4J like integration with Log4J, use of annotations, pitfalls and good practices.
-
Gregg Pollack and the How-To of Scaling Rails
Ruby on Rails has done well since its introduction a few years ago but has taken some criticism for not being able to scale. Developers know there is always a right way and a wrong way to solve any problem and scaling Ruby on Rails is no different. Learn about what is being done to address Ruby on Rails and scaling to the enterprise.