Re: Luminous | PG split causing slow requests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The slow requests are absolutely expected on filestore subfolder splitting.  You can however stop an OSD, split it's subfolders, and start it back up.  I perform this maintenance once/month.  I changed my settings to [1]these, but I only suggest doing something this drastic if you're committed to manually split your PGs regularly.  In my environment that needs to be once/month.

Along with those settings, I use [2]this script to perform the subfolder splitting. It will change your config file to [3]these settings, perform the subfolder splitting, change them back to what you currently have, and start your OSDs back up.  using a negative merge threshold prevents subfolder merging which is useful for some environments.

The script automatically sets noout and unset it for you afterwards as well it won't start unless the cluster is health_ok.  Feel free to use it as is or pick from it what's useful for you.  I highly suggest that anyone feeling the pains of subfolder splitting to do some sort of offline splitting to get through it.  If you're using some sort of config management like salt or puppet, be sure to disable it so that the config won't be overwritten while the subfolders are being split.


[1] filestore_merge_threshold = -16
     filestore_split_multiple = 256

[2] https://gist.github.com/drakonstein/cb76c7696e65522ab0e699b7ea1ab1c4

[3] filestore_merge_threshold = -1
     filestore_split_multiple = 1
On Mon, Feb 26, 2018 at 12:18 PM David C <dcsysengineer@xxxxxxxxx> wrote:
Thanks, David. I think I've probably used the wrong terminology here, I'm not splitting PGs to create more PGs. This is the PG folder splitting that happens automatically, I believe it's controlled by the "filestore_split_multiple" setting (which is 8 on my OSDs, I believe that's the Luminous default...). Increasing heartbeat grace would probably still be a good idea to prevent the flapping. I'm trying to understand if the slow requests is to be expected or if I need to tune something or look at hardware.

On Mon, Feb 26, 2018 at 4:19 PM, David Turner <drakonstein@xxxxxxxxx> wrote:
Splitting PG's is one of the most intensive and disruptive things you can, and should, do to a cluster.  Tweaking recovery sleep, max backfills, and heartbeat grace should help with this.  Heartbeat grace can be set high enough to mitigate the OSDs flapping which slows things down by peering and additional recovery, while still being able to detect OSDs that might fail and go down.  The recovery sleep and max backfills are the settings you want to look at for mitigating slow requests.  I generally tweak those while watching iostat of some OSDs and ceph -s to make sure I'm not giving too  much priority to the recovery operations so that client IO can still happen.

On Mon, Feb 26, 2018 at 11:10 AM David C <dcsysengineer@xxxxxxxxx> wrote:
Hi All

I have a 12.2.1 cluster, all filestore OSDs, OSDs are spinners, journals on NVME. Cluster primarily used for CephFS, ~20M objects.

I'm seeing some OSDs getting marked down, it appears to be related to PG splitting, e.g:

2018-02-26 10:27:27.935489 7f140dbe2700  1 _created [C,D] has 5121 objects, starting split.

Followed by:

2018-02-26 10:27:58.242551 7f141cc3f700  0 log_channel(cluster) log [WRN] : 9 slow requests, 5 included below; oldest blocked for > 30.308128 secs
2018-02-26 10:27:58.242563 7f141cc3f700  0 log_channel(cluster) log [WRN] : slow request 30.151105 seconds old, received at 2018-02-26 10:27:28.091312: osd_op(mds.0.5339:811969 3.5c 3:3bb9d743:::200.0018c6c4:head [write 73416~5897 [fadvise_dontneed]] snapc 0=[] ondisk+write+known_if_redirected+full_force e13994) currently commit_sent
2018-02-26 10:27:58.242569 7f141cc3f700  0 log_channel(cluster) log [WRN] : slow request 30.133441 seconds old, received at 2018-02-26 10:27:28.108976: osd_op(mds.0.5339:811970 3.5c 3:3bb9d743:::200.0018c6c4:head [write 79313~4866 [fadvise_dontneed]] snapc 0=[] ondisk+write+known_if_redirected+full_force e13994) currently commit_sent
2018-02-26 10:27:58.242574 7f141cc3f700  0 log_channel(cluster) log [WRN] : slow request 30.083401 seconds old, received at 2018-02-26 10:27:28.159016: osd_op(mds.9174516.0:444202 3.5c 3:3bb9d743:::200.0018c6c4:head [stat] snapc 0=[] ondisk+read+rwordered+known_if_redirected+full_force e13994) currently waiting for rw locks
2018-02-26 10:27:58.242579 7f141cc3f700  0 log_channel(cluster) log [WRN] : slow request 30.072310 seconds old, received at 2018-02-26 10:27:28.170107: osd_op(mds.0.5339:811971 3.5c 3:3bb9d743:::200.0018c6c4:head [write 84179~1941 [fadvise_dontneed]] snapc 0=[] ondisk+write+known_if_redirected+full_force e13994) currently waiting for rw locks
2018-02-26 10:27:58.242584 7f141cc3f700  0 log_channel(cluster) log [WRN] : slow request 30.308128 seconds old, received at 2018-02-26 10:27:27.934288: osd_op(mds.0.5339:811964 3.5c 3:3bb9d743:::200.0018c6c4:head [write 0~62535 [fadvise_dontneed]] snapc 0=[] ondisk+write+known_if_redirected+full_force e13994) currently commit_sent
2018-02-26 10:27:59.242768 7f141cc3f700  0 log_channel(cluster) log [WRN] : 47 slow requests, 5 included below; oldest blocked for > 31.308410 secs
2018-02-26 10:27:59.242776 7f141cc3f700  0 log_channel(cluster) log [WRN] : slow request 30.349575 seconds old, received at 2018-02-26 10:27:28.893124:

I'm also experiencing some MDS crash issues which I think could be related.

Is there anything I can do to mitigate the slow requests problem? The rest of the time the cluster is performing pretty well.

Thanks,
David
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux