IOPS, or Input/Output Operations Per Second, is a commonly used metric in the context of server performance. IOPS measures the number of reads and writes operations that can be performed by a server's storage system in a second. In other words, it measures how quickly a server can access and manipulate data. IOPS is an important metric for determining the efficiency and responsiveness of a server, particularly in high-transaction environments such as databases or virtualized environments where multiple servers are accessing the same storage resources. A higher IOPS number generally indicates better performance and faster response times. A low IOPS number may cause Terraform issues such as slowness or stalling runs.
Two commands can be used to monitor the IOPS of a TFE instance. These commands are both run on the Linux server and during an active TFE run.
The first command is
iostat -zx 2. This command is a tool used to monitor IOPS on a Linux-based system. The
-z option displays statistics in megabytes rather than blocks. The
-x option displays extended I/O statistics, including IOPS. The
2 parameter specifies the number of seconds between updates, allowing for real-time monitoring of IOPS on a system.
The second command is the
docker stats command. It can be used to monitor IOPS in a Docker container environment. This command displays various performance statistics for each Docker container, including CPU usage, memory usage, and I/O statistics. By default, the docker stats command displays information on CPU, memory, network, and I/O usage in real-time.
By running these two commands during a time on TFE load, it is possible to monitor the IOPS of each individual disk on a system, as well as Docker, to identify any bottlenecks or performance issues.
- For additional assistance please contact HashiCorp Support.