Archive for the ‘smartos’ Category

Project Bardiche: vnd Architecture

My previous entry introduced Project Bardiche, a project which revamps how we do networking for KVM guests. This entry focuses on the design and architecture of the vnd driver and how it fits into the broader networking stack. The illumos networking stack The illumos networking stack is broken into several discrete pieces which is summarized [...]

Posted on March 24, 2014 at 8:31 am by rm · Permalink · Comments Closed
In: Bardiche, illumos, joyent, smartos

Project Bardiche: Introduction

I just recently landed Project Bardiche into SmartOS. The goal of Bardiche has been to create a more streamlined data path for layer two networking in illumos. While the primary motivator for this was for KVM guests, it’s opened up a lot of room for more than just virtual machines. This bulk of this project [...]

Posted on March 20, 2014 at 4:01 pm by rm · Permalink · Comments Closed
In: Bardiche, illumos, joyent, KVM, smartos

Understanding DTrace ustack helpers

or, everything you ever wanted to know about stack traces I promised this post over a year ago, and now that someone’s actually working on a new ustack helper, I thought it was finally time to write about what ustack helpers are, how they work, and how I went about building one for Node.js. Only [...]

Posted on November 20, 2013 at 4:50 pm by dap · Permalink · Comments Closed
In: DTrace, joyent, Node.js, smartos

Stopping a broken program in its tracks

Last week I debugged a Node issue where under some conditions, fork() failure could result in some file descriptors being closed, leading shortly to bedlam. In the best cases, the program would immediately crash, but often it would just do the wrong thing. This happens a lot, of course, and in many ways it’s worse [...]

Posted on October 14, 2013 at 7:58 am by dap · Permalink · Comments Closed
In: DTrace, smartos

The TSA Method

TSA Method in class (SmartOS) There are two basic performance analysis methodologies you can use for most performance issues. The first is the resource-oriented USE Method, which provides a checklist for identifying common bottlenecks and errors. The second is the thread-oriented TSA Method, for identifying issues causing poor thread performance. I summarized the TSA Method [...]

Posted on October 11, 2013 at 12:20 pm by Brendan Gregg · Permalink · Comments Closed
In: methodology, performance, smartos, tsamethod

Inside Manta: Distributing the Unix shell

Photo by Jackie Reid, NOAA Today, Joyent has launched Manta: our internet-facing object store with compute as a first class operation. This is the culmination of over a year’s effort on the part of the whole engineering team, and I’m personally really excited to be able to share this with the world. There’s plenty of [...]

Posted on June 25, 2013 at 6:10 am by dap · Permalink · Comments Closed
In: joyent, Node.js, smartos

Systems Performance: Enterprise and the Cloud

Systems performance analysis is an important skill for all computer users, whether you’re trying to understand why your laptop is slow, or optimizing the performance of a large-scale production environment. It is the study of both operating system (kernel) and application performance, but can also lead to more specialized performance topics, for specific languages or [...]

Posted on June 21, 2013 at 2:44 pm by Brendan Gregg · Permalink · Comments Closed
In: book, Cloud, enterprise, illumos, Linux, methodology, performance, smartos

The USE Method: SmartOS Performance Checklist

The USE Method provides a strategy for performing a complete 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 for [...]

Posted on December 19, 2012 at 10:23 am by Brendan Gregg · Permalink · Comments Closed
In: illumos, omnios, performance, smartos, Solaris, usemethod, zones

Debugging dynamic library dependencies on illumos

In this short follow-up to my post on illumos process tools, I’ll expand a bit on ldd and pldd, which print the dynamic linking dependencies of binaries and processes, respectively, and crle, which prints out the runtime linker configuration. These tools are available in most illumos distributions including SmartOS. Understanding builds (and broken builds in [...]

Posted on September 18, 2012 at 9:29 am by dap · Permalink · Comments Closed
In: smartos

illumos tools for observing processes

illumos, with Solaris before it, has a history of delivering rich tools for understanding the system, but discovering these tools can be difficult for new users. Sometimes, tools just have different names than people are used to. In many cases, users don’t even know such tools might exist. In this post I’ll describe some tools [...]

Posted on August 4, 2012 at 12:16 pm by dap · Permalink · Comments Closed
In: smartos