The USE Method: Linux Performance Checklist

The USE Method provides a strategy for performing a complete a check of system health, identifying common bottlenecks and errors. For each system resource, metrics for utilization, saturation and errors are identified and checked. Any issues discovered are then investigated using further strategies. In this post, I’ll provide an example of a USE-based metric list [...]

Read more...
Posted on March 7, 2012 at 10:46 am by Brendan Gregg · Permalink · Comments Closed
In: Linux, performance, usemethod

The USE Method: Solaris Performance Checklist

The USE Method provides a strategy for performing a complete a check of system health, identifying common bottlenecks and errors. For each system resource, metrics for utilization, saturation and errors are identified and checked. Any issues discovered are then investigated using further strategies. In this post, I’ll provide an example of a USE-based metric list [...]

Read more...
Posted on March 1, 2012 at 8:30 am by Brendan Gregg · Permalink · Comments Closed
In: performance, Solaris, usemethod

The USE Method

A serious performance issue arises, and you suspect it’s caused by the server. What do you check first? Back when I was teaching operating system performance, I wanted a methodology my students could follow to find common issues quickly, without overlooking important areas. Like an emergency checklist in a flight manual, it would be something [...]

Read more...
Posted on February 29, 2012 at 10:32 am by Brendan Gregg · Permalink · Comments Closed
In: methodology, performance, usemethod

Data Replication: Building a better NDMP

In my previous post I outlined some of the challenges faced when building a data replication solution, how the first Delphix implementation missed the mark, and how we set out to build something better the second time around. The first thing that became clear after starting on the new replication subsystem was that we needed [...]

Read more...
Posted on February 28, 2012 at 6:10 am by eschrock · Permalink · Comments Closed
In: Uncategorized

Managing Node.js dependencies with shrinkwrap

This post also appears on the Node.js blog. Photo by Luc Viatour (flickr) Managing dependencies is a fundamental problem in building complex software. The terrific success of github and npm have made code reuse especially easy in the Node world, where packages don’t exist in isolation but rather as nodes in a large graph. The [...]

Read more...
Posted on February 27, 2012 at 11:54 am by dap · Permalink · Comments Closed
In: joyent, Node.js, Production

DTrace OEL update

A few months ago I took DTrace on OEL for a spin after Oracle announced it. The results were ugly; as one of the authors of DTrace, I admit to being shocked by shoddiness of the effort. Yesterday, Oracle dropped an updated beta so I wanted to see how far they’ve come in the 4+ months [...]

Read more...
Posted on February 23, 2012 at 3:00 pm by ahl · Permalink · Comments Closed
In: DTrace, OEL, Oracle

Data Replication: Approaching the Problem

With our next Delphix release just around the corner, I wanted to spend some time discussion the engineering process behind one of the major new features: data replication between servers. The current Delphix version already has a replication solution, so how does this constitute a “new feature”? The reason is that it’s an entirely new [...]

Read more...
Posted on February 20, 2012 at 6:06 am by eschrock · Permalink · Comments Closed
In: Uncategorized

Delphix git integration

Tonight, my Delphix colleague Zubair Khan and I presented the integration we’ve done with git at the SF Bay Area Large-Scale Production Engineering meetup. When I started at Delphix, we were using Subversion — my ire for which the margins of this blog are too narrow to contain. We switched to git, and in the [...]

Read more...
Posted on February 16, 2012 at 8:51 pm by ahl · Permalink · Comments Closed
In: Delphix, git, ZubairKhan

Visualizing Process Execution

In Visualizing Process Snapshots I showed processes and their parent-child hierarchy over time, using snapshots of process information. This approach misses short-lived processes that occur between the snapshots. Here I’ll fill in the gaps using system tracing, visualizing all processes that occurred. Snapshots vs Tracing 1 second snapshots (eg, top)           [...]

Read more...
Posted on February 12, 2012 at 8:44 pm by Brendan Gregg · Permalink · Comments Closed
In: Cloud, DTrace, experimental, performance, visualizations

Hardware Engineer

Back at Fishworks, my colleagues had a nickname for me: Adam Leventhal, Hardware Engineer. I wasn’t designing hardware; I wasn’t even particularly more involved with hardware specs. The name referred to my preternatural ability to fit round pegs into square holes, to know when parts would bend but not break (or if they broke how [...]

Read more...
Posted on February 12, 2012 at 1:01 pm by ahl · Permalink · Comments Closed
In: AdamLeventhalHardwareEngineer, Fishworks, Hardware, iwashi, riverwalk, SSD, thumper