summaryrefslogtreecommitdiffstats
path: root/cddl/contrib/dtracetoolkit/dist/Examples/seeksize_example.txt
diff options
context:
space:
mode:
Diffstat (limited to 'cddl/contrib/dtracetoolkit/dist/Examples/seeksize_example.txt')
-rw-r--r--cddl/contrib/dtracetoolkit/dist/Examples/seeksize_example.txt197
1 files changed, 197 insertions, 0 deletions
diff --git a/cddl/contrib/dtracetoolkit/dist/Examples/seeksize_example.txt b/cddl/contrib/dtracetoolkit/dist/Examples/seeksize_example.txt
new file mode 100644
index 0000000..ba41a87
--- /dev/null
+++ b/cddl/contrib/dtracetoolkit/dist/Examples/seeksize_example.txt
@@ -0,0 +1,197 @@
+The following are examples of seeksize.d.
+
+seeksize.d records disk head seek size for each operation by process.
+This allows up to identify processes that are causing "random" disk
+access and those causing "sequential" disk access.
+
+It is desirable for processes to be accesing the disks in large
+sequential operations. By using seeksize.d and bitesize.d we can
+identify this behaviour.
+
+
+
+In this example we read through a large file by copying it to a
+remote server. Most of the seek sizes are zero, indicating sequential
+access - and we would expect good performance from the disks
+under these conditions,
+
+# ./seeksize.d
+Tracing... Hit Ctrl-C to end.
+^C
+
+ 22349 scp /dl/sol-10-b63-x86-v1.iso mars:\0
+
+ value ------------- Distribution ------------- count
+ -1 | 0
+ 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 726
+ 1 | 0
+ 2 | 0
+ 4 | 0
+ 8 |@ 13
+ 16 | 4
+ 32 | 0
+ 64 | 0
+ 128 | 2
+ 256 | 3
+ 512 | 4
+ 1024 | 4
+ 2048 | 3
+ 4096 | 0
+ 8192 | 3
+ 16384 | 0
+ 32768 | 1
+ 65536 | 0
+
+
+
+In this example we run find. The disk operations are fairly scattered,
+as illustrated below by the volume of non sequential reads,
+
+# ./seeksize.d
+Tracing... Hit Ctrl-C to end.
+^C
+
+ 22399 find /var/sadm/pkg/\0
+
+ value ------------- Distribution ------------- count
+ -1 | 0
+ 0 |@@@@@@@@@@@@@ 1475
+ 1 | 0
+ 2 | 44
+ 4 |@ 77
+ 8 |@@@ 286
+ 16 |@@ 191
+ 32 |@ 154
+ 64 |@@ 173
+ 128 |@@ 179
+ 256 |@@ 201
+ 512 |@@ 186
+ 1024 |@@ 236
+ 2048 |@@ 201
+ 4096 |@@ 274
+ 8192 |@@ 243
+ 16384 |@ 154
+ 32768 |@ 113
+ 65536 |@@ 182
+ 131072 |@ 81
+ 262144 | 0
+
+
+
+
+I found the following interesting. This time I gzipp'd the large file.
+While zipping, the process is reading from one location and writing
+to another. One might expect that as the program toggles between
+reading from one location and writing to another, that often the
+distance would be the same (depending on where UFS puts the new file),
+
+# ./seeksize.d
+Tracing... Hit Ctrl-C to end.
+^C
+
+ 22368 gzip sol-10-b63-x86-v1.iso\0
+
+ value ------------- Distribution ------------- count
+ -1 | 0
+ 0 |@@@@@@@@@@@@ 353
+ 1 | 0
+ 2 | 0
+ 4 | 0
+ 8 | 7
+ 16 | 4
+ 32 | 2
+ 64 | 4
+ 128 | 14
+ 256 | 3
+ 512 | 3
+ 1024 | 5
+ 2048 | 1
+ 4096 | 0
+ 8192 | 3
+ 16384 | 1
+ 32768 | 1
+ 65536 | 1
+ 131072 | 1
+ 262144 |@@@@@@@@ 249
+ 524288 | 1
+ 1048576 | 2
+ 2097152 | 1
+ 4194304 | 2
+ 8388608 |@@@@@@@@@@@@@@@@@@ 536
+ 16777216 | 0
+
+
+
+
+The following example compares the operation of "find" with "tar".
+Both are reading from the same location, and we would expect that
+both programs would generally need to do the same number of seeks
+to navigate the direttory tree (depending on caching); and tar
+causing extra operations as it reads the file contents as well,
+
+# ./seeksize.d
+Tracing... Hit Ctrl-C to end.
+^C
+
+ PID CMD
+ 22278 find /etc\0
+
+ value ------------- Distribution ------------- count
+ -1 | 0
+ 0 |@@@@@@@@@@@@@@@@@@@@ 251
+ 1 | 0
+ 2 |@ 8
+ 4 | 5
+ 8 |@ 10
+ 16 |@ 10
+ 32 |@ 10
+ 64 |@ 9
+ 128 |@ 11
+ 256 |@ 14
+ 512 |@@ 20
+ 1024 |@ 10
+ 2048 | 6
+ 4096 |@ 7
+ 8192 |@ 10
+ 16384 |@ 16
+ 32768 |@@ 21
+ 65536 |@@ 28
+ 131072 |@ 7
+ 262144 |@ 14
+ 524288 | 6
+ 1048576 |@ 15
+ 2097152 |@ 7
+ 4194304 | 0
+
+
+ 22282 tar cf /dev/null /etc\0
+
+ value ------------- Distribution ------------- count
+ -1 | 0
+ 0 |@@@@@@@@@@ 397
+ 1 | 0
+ 2 | 8
+ 4 | 14
+ 8 | 16
+ 16 |@ 24
+ 32 |@ 29
+ 64 |@@ 99
+ 128 |@@ 73
+ 256 |@@ 78
+ 512 |@@@ 109
+ 1024 |@@ 62
+ 2048 |@@ 69
+ 4096 |@@ 73
+ 8192 |@@@ 113
+ 16384 |@@ 81
+ 32768 |@@@ 111
+ 65536 |@@@ 108
+ 131072 |@ 49
+ 262144 |@ 33
+ 524288 | 20
+ 1048576 | 13
+ 2097152 | 7
+ 4194304 | 5
+ 8388608 |@ 30
+ 16777216 | 0
+
OpenPOWER on IntegriCloud