nbdkit/0004-vddk-Document-troubleshooting-performance-problems.patch
Richard W.M. Jones b3fb585f58 Move nbdkit-null-plugin to nbdkit-server package
resolves: rhbz#2021154
Rebase to new stable branch version 1.28.2
resolves: rhbz#2011709

Switch to xorriso (instead of genisoimage)

Upstream prefers it since:

  commit 174a0caf7eaf1943360f9d8f714f466ea7449d90
  Author: Richard W.M. Jones <rjones@redhat.com>
  Date:   Sat Apr 3 17:15:34 2021 +0100

    iso: Pick xorriso in preference to genisoimage or mkisofs.

    See this Debian page explaining the situation with genisoimage:
    https://wiki.debian.org/genisoimage

(cherry picked from commit df8ac05e24)

Move nbdkit-null-plugin to the nbdkit-server package

This plugin is required for probing the presence of filters (see
nbdkit-probing(1) man page), so it makes sense to always have it
around.  The null plugin is only 16K in size so it does not add
significantly to the nbdkit-server package.

(cherry picked from commit 048b8de83c)

Consistent use of whitespace

Remove double line whitespace between %package and %description.
Also remove whitespace lines within %package sections.

Double line whitespace is kept between subpackages for visual clarity.

(cherry picked from commit 9fbfa6cc49)
2021-11-09 12:51:27 +00:00

85 lines
2.6 KiB
Diff

From 4bd9926c0e506fdb04976d348b1c7614865c8b06 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 22 Oct 2021 18:00:27 +0100
Subject: [PATCH] vddk: Document troubleshooting performance problems
Document how to use -D vddk.stats=1 to diagnose performance problems
with VDDK.
(cherry picked from commit e491978c193f49010cc28ad344d0fb3c1b5ede35)
---
plugins/vddk/nbdkit-vddk-plugin.pod | 57 +++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/plugins/vddk/nbdkit-vddk-plugin.pod b/plugins/vddk/nbdkit-vddk-plugin.pod
index e53d3286..5a426135 100644
--- a/plugins/vddk/nbdkit-vddk-plugin.pod
+++ b/plugins/vddk/nbdkit-vddk-plugin.pod
@@ -475,6 +475,63 @@ and restarting the C<hostd> service:
For more information see L<https://bugzilla.redhat.com/1614276>.
+=head2 Troubleshooting performance problems
+
+VDDK has very uneven performance with some operations being very slow.
+This plugin has options to allow you to debug performance issues. If
+your application has a debug or diagnostic setting, add the following
+nbdkit command line options:
+
+ -v -D nbdkit.backend.datapath=0 -D vddk.datapath=0 -D vddk.stats=1
+
+C<-v> enables verbose messages and the two datapath options I<disable>
+the very verbose per-read/-write messages. C<-D vddk.stats=1> enables
+a summary when nbdkit exits of the cumulative time taken in each VDDK
+function, the number of times each function was called, and (for read
+and write) the number of bytes transferred. An example of what those
+stats look like can be found here:
+L<https://gitlab.com/nbdkit/nbdkit/-/commit/5c80f0d290db45a679d55baf37ff39bacb8ce7ec>
+
+You can interpret the stats as follows:
+
+=over 4
+
+=item C<Read>
+
+The cumulative time spent waiting for VDDK to return from
+C<VixDiskLib_Read> calls, the number of times this function was
+called, and the total bytes read. You can use this to determine the
+read bandwidth to the VMware server.
+
+=item C<Write>
+
+=item C<Flush>
+
+Same as above, but for writing and flushing writes.
+
+=item C<QueryAllocatedBlocks>
+
+This call is used to query information about the sparseness of the
+remote disk. It is only available in VDDK E<ge> 6.7. The call is
+notably very slow in all versions of VMware we have tested.
+
+=item C<Open>
+
+=item C<Close>
+
+=item C<ConnectEx>
+
+=item C<Disconnect>
+
+=item C<InitEx>
+
+=item C<Exit>
+
+The cumulative time spent connecting and disconnecting from the VMware
+server, which can also be very slow.
+
+=back
+
=head1 SUPPORTED VERSIONS OF VDDK
This plugin requires VDDK E<ge> 5.5.5, which in turn means that it
--
2.31.1