Locating Disk I/O Bottlenecks for Containers
In some situations, the disk I/O subsystem may bottleneck a Parallels Cloud Server server and reduce the performance of Containers or the server itself. Such I/O bottlenecks are often caused by disk-intensive processes running in Containers, for example, by transferring huge amounts of data to or from a Container.
To pinpoint Containers generating the highest disk I/O load, follow these steps:
-
On the problem server, run the
pstat
utility to display I/O statistics for all running Containers. You may want to use the following I/O options with the utility:
id
,
cpu_iowait
,
cpu_iowait_acc
,
io
,
iops
,
swapin
. For example:
# pstat -o id,cpu_iowait,cpu_iowait_acc,io,iops,swapin
...
CTID CPU IOWAIT ACC IOWAIT IO IOPS SWAPIN
1 0.00% 0.00% 0.0/---KB/s 0.0/--/s 0.0/s
101 0.00% 0.00% 0.0/---KB/s 0.0/--/s 0.0/s
111 25.0% 28.0% 23/---MB/s 419/--/s 0.0/s
-
In the command output, find the Container with the highest values. Most probably, this is the Container that generates the highest I/O load on the server. In the example above, this is Container 111.
-
Once you have found the problem Container, run the
vziotop -o -E
<CT_ID>
command to show all threads running in this Container and generating I/O load. To sort the output by I/O load, use the left and right arrow keys to select the
IO
column. For example:
# vziotop -o -E 111
Total DISK READ : 4.77 M/s | Total DISK WRITE : 270.00 K/s
Actual DISK READ: 4.77 M/s | Actual DISK WRITE: 354.63 K/s
CTID TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
111 1026959 be/4 root 932.72 K/s 250.00 K/s 0.00% 42.84% {
output skipped
];
111 1026960 be/4 root 202.20 K/s 20.00 K/s 0.00% 11.53% {
output skipped
];
The command output shows that thread 1026959 produces the highest I/O load and might be responsible for the server performance degradation.
For more information on the
vziotop
utility and its options, see the
Parallels Cloud Server 6.0 Command Line Reference Guide
.
|