[Bugs] [Bug 1467614] Gluster read/write performance improvements on NVMe backend
bugzilla at redhat.com
bugzilla at redhat.com
Wed Dec 20 04:28:21 UTC 2017
https://bugzilla.redhat.com/show_bug.cgi?id=1467614
Raghavendra G <rgowdapp at redhat.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|CLOSED |ASSIGNED
Resolution|CURRENTRELEASE |---
Keywords| |Reopened
--- Comment #51 from Raghavendra G <rgowdapp at redhat.com> ---
(In reply to Manoj Pillai from comment #38)
> Switched to a 32g ramdisk (the server has 56g) so that I can have longer
> runs with larger data set of 24g instead of 12g in comment #35.
>
> Repeated the 4 client, single brick run (io-thread-count=8, event-threads=4):
> read: IOPS=59.0k, BW=234Mi (246M)(6144MiB/26220msec)
> [IOPs dropped slightly with the longer run.]
>
> Output of "top -bH -d 10" ON THE BRICK during randread looks like this:
>
> <quote>
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 2500 root 20 0 2199708 32556 4968 R 97.6 0.1 4:35.79
> glusterrpcs+
> 7040 root 20 0 2199708 32556 4968 S 74.3 0.1 0:19.62
> glusteriotw+
> 7036 root 20 0 2199708 32556 4968 S 73.5 0.1 0:24.13
> glusteriotw+
> 7039 root 20 0 2199708 32556 4968 S 73.0 0.1 0:23.73
> glusteriotw+
> 6854 root 20 0 2199708 32556 4968 S 72.7 0.1 0:35.91
> glusteriotw+
> 7035 root 20 0 2199708 32556 4968 S 72.7 0.1 0:23.99
> glusteriotw+
> 7038 root 20 0 2199708 32556 4968 R 72.5 0.1 0:23.75
> glusteriotw+
> 7034 root 20 0 2199708 32556 4968 S 72.3 0.1 0:23.60
> glusteriotw+
> 7037 root 20 0 2199708 32556 4968 R 72.3 0.1 0:23.42
> glusteriotw+
> 2510 root 20 0 2199708 32556 4968 S 34.0 0.1 1:28.11
> glusterposi+
> </quote>
>
> pstack on the thread showing 97+% CPU utilization:
>
> <quote>
> # pstack 2500
> Thread 1 (process 2500):
> #0 0x00007f0301398945 in pthread_cond_wait@@GLIBC_2.3.2 () from
> /lib64/libpthread.so.0
> #1 0x00007f03022f733b in rpcsvc_request_handler (arg=0x7f02f003f530) at
> rpcsvc.c:1881
> #2 0x00007f0301394e25 in start_thread () from /lib64/libpthread.so.0
> #3 0x00007f0300c6134d in clone () from /lib64/libc.so.6
> </quote>
This thread was introduced as part of our efforts to not execute any of
glusterfs program's code in event threads [1]. I had considered a multithreaded
model, but preferred a single threaded model as we didn't see much of a
performance regression in our limited performance tests and the former resulted
in regression failures. I'll send a patch to make sure there is a 1:1 mapping
between event threads and threads executing rpcsvc_request_handler.
A related comment from Manoj:
<comment>
one thing though. the thread is in the high 90s cpu utilization, not quite 100.
it is possible there is another bottleneck, and at this time we won't see a
benefit from the multithreaded model. but seems quite clear that the
single-threaded model will not scale much beyond 60k.
</comment>
[1] https://review.gluster.org/17105
--
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=Js3aEKaYdE&a=cc_unsubscribe
More information about the Bugs
mailing list