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.
In this article, James Leigh takes a look at eight different isolation levels that can be utilized within a web application, and explores the pros and cons of each level of isolation, ranging from read uncommitted to serializable consistency - the interactions between transactions at different isolation levels is also looked at.
Nick Gunn provides a practical introduction CCR for .NET. CCR radically changes the way multi-threaded applications are written in .NET, shifting the focus from threads to asynchronous tasks. 5
Alois Reitbauer specifies several architectural anti-patterns that one should stay away from and which can downgrade an application’s performance. 28
Steven Haines talks about tackling web application performance tuning by proposing a method called wait-based tuning. 4
Ruby 1.9's Fibers and non-blocking I/O are getting more attention - we talked to Mohammad A. Ali of the NeverBlock project and Tony Arcieri of the Revactor project. 1
This article discusses scalability worst pratices including The Golden Hammer, Resource Abuse, Big Ball of Mud, Dependency Management, Timeouts, Hero Pattern, Not Automating, and Monitoring. 5
Our panel of leading experts explores some of the challenges and thought processes that go into making their apps as scalable and performant as possible. 1
Jeroen Borgers examines if biased locking, lock coarsening, lock elision by escape analysis and adaptive spin locking techniques in the latest JVMs actually work in highly-concurrent apps. 3
Jeroen Borgers examines if biased locking, lock coarsening, lock elision by escape analysis and adaptive spin locking techniques in the latest JVMs actually work in highly-concurrent apps. 16
Randy Shoup explains eBay key scalability practices of partitioning, horizontal scale, avoiding XA, asynchronicity, and virtualization. 12