Hi. Already have the necessary changes in git. https://github.com/ceph/ceph/commit/86926c6089d63014dd770b4bb61fc7aca3998542
2014-10-23 16:42 GMT+04:00 Paweł Sadowski <[email protected]>: > On 10/23/2014 09:10 AM, Paweł Sadowski wrote: > > Hi, > > > > I was trying to determine performance impact of deep-scrubbing with > > osd_disk_thread_ioprio_class option set but it looks like it's ignored. > > Performance (during deep-scrub) is the same with this options set or > > left with defaults (1/3 of "normal" performance). > > > > > > # ceph --admin-daemon /var/run/ceph/ceph-osd.26.asok config show | grep > > osd_disk_thread_ioprio > > "osd_disk_thread_ioprio_class": "idle", > > "osd_disk_thread_ioprio_priority": "7", > > > > # ps -efL | grep 'ce[p]h-osd --cluster=ceph -i 26' | awk '{ print $4; }' > > | xargs --no-run-if-empty ionice -p | sort | uniq -c > > 18 unknown: prio 0 > > 186 unknown: prio 4 > > > > # cat /sys/class/block/sdf/queue/scheduler > > noop deadline [cfq] > > > > And finallyGDB: > > > > Breakpoint 1, ceph_ioprio_string_to_class (s=...) at > > common/io_priority.cc:48 > > warning: Source file is more recent than executable. > > 48 return IOPRIO_CLASS_IDLE; > > (gdb) cont > > Continuing. > > > > Breakpoint 2, OSD::set_disk_tp_priority (this=0x3398000) at > osd/OSD.cc:8548 > > warning: Source file is more recent than executable. > > 8548 disk_tp.set_ioprio(cls, > > cct->_conf->osd_disk_thread_ioprio_priority); > > (gdb) print cls > > $1 = -22 > > > > So the IO priorities are *NOT*set (cls >= 0). I'm not sure where this > > -22 came from.Any ideas? > > In the mean time I'll compile ceph from sources and check again. > > > > > > > > Ceph installed from Ceph repositories: > > > > # ceph-osd -v > > ceph version 0.86 (97dcc0539dfa7dac3de74852305d51580b7b1f82) > > > > # apt-cache policy ceph > > ceph: > > Installed: 0.86-1precise > > Candidate: 0.86-1precise > > Version table: > > *** 0.86-1precise 0 > > 500 http://eu.ceph.com/debian-giant/ precise/main amd64 Packages > > 100 /var/lib/dpkg/status > > Following patch corrects problem: > > diff --git a/src/common/io_priority.cc b/src/common/io_priority > index b9eeae8..4cd299a 100644 > --- a/src/common/io_priority.cc > +++ b/src/common/io_priority.cc > @@ -41,7 +41,7 @@ int ceph_ioprio_set(int whence, int who, int > > int ceph_ioprio_string_to_class(const std::string& s) > { > - std::string l; > + std::string l(s); > std::transform(s.begin(), s.end(), l.begin(), ::tolower); > > if (l == "idle") > > > # ps -efL | grep 'ce[p]h-osd --cluster=ceph -i 26' | awk '{ print $4; }' > | xargs --no-run-if-empty ionice -p | sort | uniq -c > 1 idle > 4 unknown: prio 0 > 183 unknown: prio 4 > > Change to *best effort* (ceph tell osd.26 injectargs > '--osd_disk_thread_ioprio_class be') > > # ps -efL | grep 'ce[p]h-osd --cluster=ceph -i 26' | awk '{ print $4; }' > | xargs --no-run-if-empty ionice -p | sort | uniq -c > 1 best-effort: prio 7 > 4 unknown: prio 0 > 183 unknown: prio 4 > > > -- > PS > _______________________________________________ > ceph-users mailing list > [email protected] > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com > -- С уважением, Фасихов Ирек Нургаязович Моб.: +79229045757
_______________________________________________ ceph-users mailing list [email protected] http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
