It only takes a minute to notice a performance issue. In 60,000 milliseconds, you can get a Linux performance, and the Netflix Performance Engineering team can show you how.
Netflix has a EC2 Linux cloud, which is constantly monitored by performance-analysis tools to make sure everything is running smoothly. These tools include Atlas (for cloud monitoring) and Vector (for on-demand instance analysis).
The Netflix Performance Engineering team wrote that these tools help them solve most of their issues, but sometimes they “need to log in to an instance and run some standard Linux performance tools.”
By following 10 commands, the team said in 60 seconds an engineer can get an idea of system resource usage and running processes.
“Look for errors and saturation metrics, as they are both easy to interpret, and then resource utilization,” the team wrote. “Saturation is where a resource has more load than it can handle and can be exposed either as the length of a request queue, or time spent waiting.”
Some of the commands require the sysstat package to be installed. A list of the commands can be found below, with detailed information of each command on Netflix’s blog.
- uptime: A way to view the load averages.
- dmesg | tail: Views the last 10 system messages, if any.
- vmstat 1: Prints a summary of key server statistics on each line.
- mpstat -P ALL 1: Prints CPU time breakdowns per CPU, which can be used to check for an imbalance.
- pidstat 1: Prints a rolling summary instead of clearing the screen.
- iostat -xz 1: A tool for understanding block devices (disks).
- free -m: Columns that show buffers and cache.
- sar -n DEV 1: A tool to check the network interface.
- sar -n TCP,ETCP 1: Shows key TCP metrics.
- top: Run to see if anything looks different from other commands.