Disk Graphs

Archive Objects Saved/Read

This line graph plots the number of atoms in memory saved to the archive on disk and the number of atoms requested and loaded into memory from the archive on disk for the Storage Manager (SM). Each line represents the saving and loading of an SM or a Transaction Engine (TE).

Archive Object Saved/Read.
Figure 1. Archive Object Saved/Read

Use Case

This graph must be read in conjunction with other graphs. The atoms in memory saved and read should be in-line with other graphs. Sudden spikes or other abnormalities must be investigated.

Graph Creation Details

To create a graph using other tools, use the following details:

  • Saved: for the rate of ObjectsSaved, average

  • Read: for the rate of ObjectsLoaded, average

Fsync/Directory

This graph plots data for SMs only for archive writing, the amount of time in file synchronizing with atoms in memory onto disk and the amount of time spent interacting with the operating system for directory and file admin.

Archive Fsync/Directory.
Figure 2. Archive Fsync/Directory

Use Case

Even one slow disk can impact overall performance. While the time spent to write to disk should trend towards zero, a high workload will increase the time to write to disk. Any line consistently above 30—​40% of measurement must be investigated. Any lines that are not in line with the other lines or approach max fsync must be investigated. Typical failures include misconfigured disks or under performing disks. Directory time should be a very small percentage of the total time.

File sync (fsync) instructs the Operating System (OS) to save directly to disk and not to store in disk buffers. This is to prevent data loss in the event of a system failure like power loss, memory failure, OS crash, and so on.

Graph Creation Details

To create a graph using other tools, use the following details:

  • Fsync: for the value of ArchiveFsyncTime, average

  • Directory: for the value of ArchiveDirectoryTime, average

Queue

This line graph plots the number of SM-only archive atoms in memory to be saved to disk.

The thin red line graph representing the write throttle statistic is zero in this example.
Archive Queue.
Figure 3. Archive Queue

Use Case

There will always be a queue of atoms in memory to be saved to disk. NuoDB process threads will regularly search the queue of atoms. More workload will have a higher queue. Look for lines outside the average.

A thin red line indicates a write throttle which happens when the number of atoms in memory to write to disk exceeds the write speed of the SM onto disk.

Graph Creation Details

To create a graph using other tools, use the following details:

  • Queue: for the raw number of atoms in memory ArchiveQueue, average

  • WriteThrottle: for the value of atoms in memory to write of WriteThrottleTime, average

Bytes Written Per Second

This line graph plots the number of archive bytes written to disk per second.

Bytes Written Per Second.
Figure 4. Bytes Written Per Second

Use Case

This graph must be read in conjunction with others. A decrease in the number of bytes written with corresponding increases in queue length and Fsync graphs must be investigated. Another example of failure would be a visible flat line, indicating some maximum performance limit. Any disparity between the lines would indicate performance issues with a disk. These signs would indicate an issue with disk IO that may need investigation.

Graph Creation Detail

To create a graph using other tools, use the following detail:

  • Bytes written: for the rate of bytes written, DiskWritten, average

Journal Queue

Journals protect from sudden system failures such as memory failure, OS crashes, or power loss. Once a transaction is committed, it is written to a journal disk but not to the archive. Writing to a journal should be quicker as the write size is smaller and the burst capacity of disks should be higher. If the system fails, no transactions are lost since they are recorded in the journal. On restart, the SM runs all the transactions in the journal first and updates the archive accordingly. Once a transaction in the journal has been written to the archive disk, the associated journal messages are reaped (removed) from the journal disk. If an atom has been modified several times in a short period, multiple deltas of the atom will be in the journal, one for each change. The reaping operation will skip earlier versions and only write the most recent copy of the atom from the journal into the archive.

This line graph plots the number of messages ready to write to disk.

Journal Queue.
Figure 5. Journal Queue

Use Case

For a constant workload, when disks start to have performance issues, the journal queues and archive queues will increase in an attempt to compensate. Check for past performance for increases/decreases in queue size. A single color should not dominate.

Graph Creation Detail

To create a graph using other tools, use the following detail:

  • Queue: for the raw number of messages in JournalQueue, average

Fsync and Directory

This line graph plots the time taken to sync files to disk and directory admin.

Journal Fsync/Directory.
Figure 6. Journal Fsync/Directory

Use Case

Disk performance issues can show up in increased fsync times and directory admin times. Check past performance to indicate issues. A single color should not dominate. Max fsync for journals is 100%. Any lines that are not in line with each other, or approach max fsync may need investigation. Typical failures include misconfigured disks or underperforming disks. Directory admin should be a very small percentage of the total time.

Graph Creation Details

To create a graph using other tools, use the following details:

  • Fsync: for value * 100 of SM fsync time JournalFsyncTime, average

  • Directory: for value * 100 of SM directory time JournalDirectoryTime, average

Writes Per Second

This line graph plots the number of journal messages written to disk for each SM.

Journal Writes/Second.
Figure 7. Journal Fsync/Directory

Use Case

The number of journal messages varies with the load. A single color should not dominate. Note that different storage group configurations may have different journal message signatures.

Graph Creation Detail

To create a graph using other tools, use the following detail:

  • Writes/Sec: select the rate of SM JrnlWrites from the SMs, average

Bytes Per Second

This line graph plots the number of SM journal bytes written per second.

Journal Bytes/Second.
Figure 8. Journal Bytes/Sec

Use Case

The number of journal bytes written to disk depends on the workload. Check history to gain perspective on current bytes written.

Graph Creation Detail

To create a graph using other tools, use the following detail:

  • Bytes/Sec: for the rate of SM JrnlBytes, average