There is a new book out, Systems Performance : Enterprise and the Cloud by Brenden Gregg, and if you have to put up with slow software, then on a Monday, you need this book. If you don’t know who Brenden Gregg is, then you haven’t been paying attention to a revolution in some of he software that came from his team at Sun just a few years back. And this book constitutes an excellent way at looking at system performance. As described on Amazon : “Large-scale enterprise, cloud, and virtualized computing systems have introduced serious performance challenges. Now, internationally renowned performance expert Brendan Gregg has brought together proven methodologies, tools, and metrics for analyzing and tuning even the most complex environments. Systems Performance: Enterprise and the Cloud focuses on Linux® and Unix® performance, while illuminating performance issues that are relevant to all operating systems. You’ll gain deep insight into how systems work and perform, and learn methodologies for analyzing and improving system and application performance. Gregg presents examples from bare-metal systems and virtualized cloud tenants running Linux-based Ubuntu®, Fedora®, CentOS, and the illumos-based Joyent® SmartOS™ and OmniTI OmniOS®. He systematically covers modern systems performance, including the “traditional” analysis of CPUs, memory, disks, and networks, and new areas including cloud computing and dynamic tracing. This book also helps you identify and fix the “unknown unknowns” of complex performance: bottlenecks that emerge from elements and interactions you were not aware of. The text concludes with a detailed case study, showing how a real cloud customer issue was analyzed from start to finish.” You can get a quick overview of the book by looking at his presentation and for the first time being introduced to the DTrace pony (page 6, but we will come back to the DTrace pony later) you can experience modern performance tools.
Any so begins your magical mystery tour if you don’t know DTrace. If you haven’t experienced it you have missed out on a tool capable of literally
giving you deep observability into your system. Though the best versions of DTrace run on open-source Solaris-based operating systems like SmartOS and illumos-based variants, their are also versions that run on Linux. Couple with DTrace are utilization and latency heat maps and flame graphs which offer a visual view of what DTrace is reporting. As you get more interested in this tool you may want to examine what people like Brendan Gregg and Joyent are doing with DTrace in the Cloud –
Joyent is using a forked version of OpenSolaris based on the illumos (open source) version. Joyent’s open source version, SmartOS, which they have customized around cloud deployments provides a large number of features unavailable on Oracle’s version of Solaris. And because SmartOS leverages OpenSolaris, one more thing becomes useful, ZFS, one of the most sophisticated file systems available.
Another virtualization aspect of SmartOS is that it leverages Solaris zones (extremely lightweight) and Linux KVM (ported, debugged and tuned via DTrace). And this all has given Joyent very special insight into dense virtualization and the architectures that virtualized clouds are built on.
All of this is very interesting and offers an alternative to the usual VMware cloud, it also offers very strong open source enterprise-tested features of virtualization, file systems, tracing software and a suite of great features both server, storage and software-centric. You can learn more about Joyent’s cloud version of Solaris at SmartOS.org.