Yesterday I wrote about CPU Performance Analysis in Linux. I explained how to tell if you are experiencing a CPU bottleneck. This is just a quick followup to show the effect of adding more cpu power.
Since this is a virtual machine it is easy to just drop in another cpu. This is the CPU utilization report from the machine at the time of the analysis.
07:55:01 AM CPU %user %nice %system %iowait %steal %idle 08:05:01 AM all 3.95 0.00 2.22 0.13 0.00 93.70 08:15:01 AM all 4.32 0.00 2.37 0.08 0.00 93.23 08:25:01 AM all 5.70 0.00 2.79 0.06 0.00 91.44 08:35:01 AM all 6.13 0.00 3.85 0.07 0.00 89.94 08:45:01 AM all 10.27 0.00 6.07 0.09 0.00 83.56 08:55:01 AM all 13.50 0.00 8.15 0.21 0.00 78.14 09:05:01 AM all 14.53 0.00 10.39 0.30 0.00 74.78 09:15:01 AM all 12.24 0.00 9.02 0.44 0.00 78.30 09:25:01 AM all 12.66 0.00 8.80 0.50 0.00 78.03 09:35:01 AM all 12.67 0.00 9.43 0.49 0.00 77.40 09:45:01 AM all 13.51 0.00 9.62 0.44 0.00 76.43 09:55:01 AM all 13.67 0.00 10.66 0.59 0.00 75.08 10:05:01 AM all 14.47 0.00 10.99 0.66 0.00 73.88 10:15:01 AM all 12.32 0.00 9.15 0.44 0.00 78.09 10:25:01 AM all 25.71 0.00 14.17 0.51 0.00 59.61 10:35:01 AM all 13.65 0.00 10.04 1.30 0.00 75.01 10:45:01 AM all 12.36 0.00 8.86 0.65 0.00 78.12 10:55:03 AM all 25.34 0.00 19.41 0.56 0.00 54.69 11:05:01 AM all 24.10 0.00 19.04 0.67 0.00 56.19 11:15:01 AM all 16.63 0.00 12.51 0.60 0.00 70.26 11:25:01 AM all 25.83 0.00 22.10 1.73 0.00 50.34 11:35:01 AM all 22.80 0.00 16.90 1.06 0.00 59.24 11:45:01 AM all 31.48 0.00 21.74 1.08 0.00 45.69 11:55:01 AM all 18.10 0.00 13.53 0.82 0.00 67.55 12:05:02 PM all 19.07 0.00 14.74 0.94 0.00 65.26 12:15:01 PM all 20.48 0.00 16.32 1.00 0.00 62.19 12:25:01 PM all 23.83 0.00 20.03 0.80 0.00 55.33 12:35:01 PM all 22.97 0.00 18.57 1.43 0.00 57.03 12:45:02 PM all 25.65 0.00 20.55 0.67 0.00 53.12
This is the CPU uitilization report today after having added another cpu to the virtual machine.
07:55:01 AM CPU %user %nice %system %iowait %steal %idle 08:05:01 AM all 4.08 0.00 1.86 0.11 0.00 93.95 08:15:01 AM all 5.67 0.00 2.31 0.10 0.00 91.92 08:25:01 AM all 12.51 0.00 2.94 0.13 0.00 84.42 08:35:01 AM all 7.21 0.00 2.74 0.12 0.00 89.93 08:45:01 AM all 10.87 0.00 3.78 0.41 0.00 84.94 08:55:01 AM all 8.41 0.00 3.58 0.13 0.00 87.88 09:05:01 AM all 10.49 0.00 3.00 0.09 0.00 86.42 09:15:01 AM all 5.21 0.00 2.23 0.09 0.00 92.47 09:25:01 AM all 5.92 0.00 2.48 0.08 0.00 91.52 09:35:01 AM all 5.79 0.00 2.57 0.13 0.00 91.52 09:45:01 AM all 7.62 0.00 3.30 0.13 0.00 88.95 09:55:01 AM all 9.07 0.00 4.00 0.11 0.00 86.82 10:05:01 AM all 8.34 0.00 4.01 0.19 0.00 87.47 10:15:01 AM all 9.16 0.00 3.74 0.17 0.00 86.92 10:25:01 AM all 7.31 0.00 3.25 0.09 0.00 89.35 10:35:01 AM all 7.88 0.00 3.38 0.09 0.00 88.65 10:45:01 AM all 9.93 0.00 4.04 0.08 0.00 85.95 10:55:01 AM all 9.98 0.00 3.84 0.07 0.00 86.11 11:05:01 AM all 8.67 0.00 3.54 0.05 0.00 87.74 11:15:01 AM all 11.05 0.00 4.60 0.05 0.00 84.30 11:25:01 AM all 13.94 0.00 3.97 0.42 0.00 81.67 11:35:01 AM all 10.69 0.00 4.22 0.45 0.00 84.64 11:45:01 AM all 8.26 0.00 3.58 0.06 0.00 88.11 11:55:02 AM all 7.44 0.00 3.14 0.03 0.00 89.39 12:05:01 PM all 7.43 0.00 3.60 0.07 0.00 88.89 12:15:01 PM all 6.55 0.00 2.91 0.03 0.00 90.50 12:25:01 PM all 6.95 0.00 3.01 0.12 0.00 89.92 12:35:01 PM all 8.48 0.00 3.55 0.20 0.00 87.77 12:45:01 PM all 10.39 0.00 3.74 0.04 0.00 85.83
As you can see the idle time is consistently higher while system and user times are consistently lower. Granted these reports are from different days but the activity on the server was similar for both days and time periods.
I hope this helps show how you can determine if your server is cpu bound and as the title says, baseline analysis is important. Always go back and verrify changes you have made had the impact you intended.