From e5550ddf012698a004dd63ecb32888b856dc0eea Mon Sep 17 00:00:00 2001 From: Linda Bebernes Date: Wed, 25 Sep 2013 12:46:17 -0700 Subject: [PATCH] LUDOC-160 lustreproc: Added note, reordered content in Monitoring section for clarity. Brett Lee has confirmed the content issues in this ticket were addressed in LUDOC-168 (LustreProc rework). Changes made now include adding a note to clarify how extents_stats and offsets_stats are enabled and minor rearrangements to text for clarity. Signed-off-by: Linda Bebernes Change-Id: I451cad9dfe67d504d6c90faf992595e0f199e043 Reviewed-on: http://review.whamcloud.com/7763 Tested-by: Hudson Reviewed-by: Brett Lee Reviewed-by: Andreas Dilger --- LustreProc.xml | 226 ++++++++++++++++++++++++++++++--------------------------- 1 file changed, 120 insertions(+), 106 deletions(-) diff --git a/LustreProc.xml b/LustreProc.xml index 1341e62..5be130b 100644 --- a/LustreProc.xml +++ b/LustreProc.xml @@ -508,105 +508,6 @@ offset rpcs % cum % | rpcs % cum % For information about optimizing the client I/O RPC stream, see . -
- <indexterm> - <primary>proc</primary> - <secondary>read/write survey</secondary> - </indexterm>Monitoring Client Read-Write Offset Statistics - The offset_stats parameter maintains statistics for occurrences of a - series of read or write calls from a process that did not access the next sequential - location. The OFFSET field is reset to 0 (zero) whenever a different file - is read or written. - Read/write offset statistics are "off" by default. The statistics can be activated by - writing anything into the offset_stats file. - The offset_stats file can be cleared by - entering:lctl set_param llite.*.offset_stats=0 - Example: - # lctl get_param llite.testfs-f57dee0.offset_stats -snapshot_time: 1155748884.591028 (secs.usecs) - RANGE RANGE SMALLEST LARGEST -R/W PID START END EXTENT EXTENT OFFSET -R 8385 0 128 128 128 0 -R 8385 0 224 224 224 -128 -W 8385 0 250 50 100 0 -W 8385 100 1110 10 500 -150 -W 8384 0 5233 5233 5233 0 -R 8385 500 600 100 100 -610 - In this example, snapshot_time is the UNIX epoch instant the file was - read. The tabular data is described in the table below. - - - - - - - - Field - - - Description - - - - - - - R/W - - - Indicates if the non-sequential call was a read or write - - - - - PID - - - Process ID of the process that made the read/write call. - - - - - RANGE START/RANGE END - - - Range in which the read/write calls were sequential. - - - - - SMALLEST EXTENT - - - Smallest single read/write in the corresponding range (in bytes). - - - - - LARGEST EXTENT - - - Largest single read/write in the corresponding range (in bytes). - - - - - OFFSET - - - Difference between the previous range end and the current range start. - - - - - - Analysis: - This data provides an indication of how contiguous or fragmented the data is. For - example, the fourth entry in the example above shows the writes for this RPC were sequential - in the range 100 to 1110 with the minimum write 10 bytes and the maximum write 500 bytes. - The range started with an offset of -150 from the RANGE END of the - previous entry in the example. -
<indexterm> <primary>proc</primary> @@ -615,9 +516,7 @@ R 8385 500 600 100 100 -610</screen> <para>The <literal>stats</literal> file maintains statistics accumulate during typical operation of a client across the VFS interface of the Lustre file system. Only non-zero parameters are displayed in the file. </para> - <para>Client statistics are enabled by default. The statistics can be cleared by echoing an - empty string into the <literal>stats</literal> file or by using the command: - <screen>lctl set_param llite.*.stats=0</screen></para> + <para>Client statistics are enabled by default.</para> <note> <para>Statistics for all mounted file systems can be discovered by entering:<screen>lctl get_param llite.*.stats</screen></para> @@ -639,6 +538,9 @@ truncate 9073 samples [regs] setxattr 19059 samples [regs] getxattr 61169 samples [regs] </screen> + <para> The statistics can be cleared by echoing an empty string into the + <literal>stats</literal> file or by using the command: + <screen>lctl set_param llite.*.stats=0</screen></para> <para>The statistics displayed are described in the table below.</para> <informaltable frame="all"> <tgroup cols="2"> @@ -870,16 +772,126 @@ getxattr 61169 samples [regs] <title><indexterm> <primary>proc</primary> <secondary>read/write survey</secondary> + </indexterm>Monitoring Client Read-Write Offset Statistics + When the offset_stats parameter is set, statistics are maintained for + occurrences of a series of read or write calls from a process that did not access the next + sequential location. The OFFSET field is reset to 0 (zero) whenever a + different file is read or written. + + By default, statistics are not collected in the offset_stats, + extents_stats, and extents_stats_per_process files + to reduce monitoring overhead when this information is not needed. The collection of + statistics in all three of these files is activated by writing anything into any one of + the files. + + Example: + # lctl get_param llite.testfs-f57dee0.offset_stats +snapshot_time: 1155748884.591028 (secs.usecs) + RANGE RANGE SMALLEST LARGEST +R/W PID START END EXTENT EXTENT OFFSET +R 8385 0 128 128 128 0 +R 8385 0 224 224 224 -128 +W 8385 0 250 50 100 0 +W 8385 100 1110 10 500 -150 +W 8384 0 5233 5233 5233 0 +R 8385 500 600 100 100 -610 + In this example, snapshot_time is the UNIX epoch instant the file was + read. The tabular data is described in the table below. + The offset_stats file can be cleared by + entering:lctl set_param llite.*.offset_stats=0 + + + + + + + + Field + + + Description + + + + + + + R/W + + + Indicates if the non-sequential call was a read or write + + + + + PID + + + Process ID of the process that made the read/write call. + + + + + RANGE START/RANGE END + + + Range in which the read/write calls were sequential. + + + + + SMALLEST EXTENT + + + Smallest single read/write in the corresponding range (in bytes). + + + + + LARGEST EXTENT + + + Largest single read/write in the corresponding range (in bytes). + + + + + OFFSET + + + Difference between the previous range end and the current range start. + + + + + + Analysis: + This data provides an indication of how contiguous or fragmented the data is. For + example, the fourth entry in the example above shows the writes for this RPC were sequential + in the range 100 to 1110 with the minimum write 10 bytes and the maximum write 500 bytes. + The range started with an offset of -150 from the RANGE END of the + previous entry in the example. +
+
+ <indexterm> + <primary>proc</primary> + <secondary>read/write survey</secondary> </indexterm>Monitoring Client Read-Write Extent Statistics For in-depth troubleshooting, client read-write extent statistics can be accessed to obtain more detail about read/write I/O extents for the file system or for a particular process. + + By default, statistics are not collected in the offset_stats, + extents_stats, and extents_stats_per_process files + to reduce monitoring overhead when this information is not needed. The collection of + statistics in all three of these files is activated by writing anything into any one of + the files. +
Client-Based I/O Extent Size Survey - The rw_extent_stats histogram in the llite - directory shows the statistics for the sizes of the read?write I/O extents. This file does - not maintain the per-process statistics. The file can be cleared by issuing the following - command:# lctl set_param llite.testfs-*.extents_stats=0 + The extent_stats histogram in the llite + directory shows the statistics for the sizes of the read/write I/O extents. This file does + not maintain the per-process statistics. Example: # lctl get_param llite.testfs-*.extents_stats snapshot_time: 1213828728.348516 (secs.usecs) @@ -902,6 +914,8 @@ extents calls % cum% | calls % cum% for reads and writes respectively (calls), the relative percentage of total calls (%), and the cumulative percentage to that point in the table of calls (cum %). + The file can be cleared by issuing the following + command:# lctl set_param llite.testfs-*.extents_stats=0
Per-Process Client I/O Statistics -- 1.8.3.1