Mark could you please elaborate on this?
"use larger directory splitting thresholds to at least balance that part of the 
equation out"

Thanks
Jan

> On 04 Sep 2015, at 15:31, Mark Nelson <mnel...@redhat.com> wrote:
> 
> There's a lot of factors that play into all of this.  The more PGs you have, 
> the more total objects you can store before you hit the thresholds.  More PGs 
> also means slightly better random distribution across OSDs (Not really 
> affected by the size of the OSD assuming all OSDs are uniform).  You have to 
> be careful increasing the PG count though.  I've tested about a million PGs 
> and things more or less worked but the mons were pretty laggy and I didn't 
> test recovery.  For small clusters I personally like to use more PGs than our 
> guidelines indicate and for very large clusters I suspect you might have to 
> under-allocate but then probably use larger directory splitting thresholds to 
> at least balance that part of the equation out.
> 
> Mark
> 
> On 09/04/2015 07:18 AM, Nick Fisk wrote:
>> Actually just thinking about this some more, shouldn't the PG's per OSD 
>> "golden rule" also depend on the size of the OSD? If this Directory 
>> splitting is a big deal then an 8TB OSD is going to need a lot more PG's 
>> than say a 1TB OSD.
>> 
>> Any thoughts Mark?
>> 
>>> -----Original Message-----
>>> From: ceph-users [mailto:ceph-users-boun...@lists.ceph.com] On Behalf Of
>>> Nick Fisk
>>> Sent: 04 September 2015 13:08
>>> To: 'Wang, Warren' <warren_w...@cable.comcast.com>; 'Mark Nelson'
>>> <mnel...@redhat.com>; 'Ben Hines' <bhi...@gmail.com>
>>> Cc: 'ceph-users' <ceph-users@lists.ceph.com>
>>> Subject: Re: [ceph-users] Ceph performance, empty vs part full
>>> 
>>> I've just made the same change ( 4 and 40 for now) on my cluster which is a
>>> similar size to yours. I didn't see any merging happening, although most of
>>> the directory's I looked at had more files in than the new merge threshold, 
>>> so
>>> I guess this is to be expected
>>> 
>>> I'm currently splitting my PG's from 1024 to 2048 to see if that helps to 
>>> bring
>>> things back into order.
>>> 
>>>> -----Original Message-----
>>>> From: ceph-users [mailto:ceph-users-boun...@lists.ceph.com] On Behalf
>>>> Of Wang, Warren
>>>> Sent: 04 September 2015 01:21
>>>> To: Mark Nelson <mnel...@redhat.com>; Ben Hines <bhi...@gmail.com>
>>>> Cc: ceph-users <ceph-users@lists.ceph.com>
>>>> Subject: Re: [ceph-users] Ceph performance, empty vs part full
>>>> 
>>>> I'm about to change it on a big cluster too. It totals around 30
>>>> million, so I'm a bit nervous on changing it. As far as I understood,
>>>> it would indeed move them around, if you can get underneath the
>>>> threshold, but it may be hard to do. Two more settings that I highly
>>>> recommend changing on a big prod cluster. I'm in favor of bumping these
>>> two up in the defaults.
>>>> 
>>>> Warren
>>>> 
>>>> -----Original Message-----
>>>> From: ceph-users [mailto:ceph-users-boun...@lists.ceph.com] On Behalf
>>>> Of Mark Nelson
>>>> Sent: Thursday, September 03, 2015 6:04 PM
>>>> To: Ben Hines <bhi...@gmail.com>
>>>> Cc: ceph-users <ceph-users@lists.ceph.com>
>>>> Subject: Re: [ceph-users] Ceph performance, empty vs part full
>>>> 
>>>> Hrm, I think it will follow the merge/split rules if it's out of whack
>>>> given the new settings, but I don't know that I've ever tested it on
>>>> an existing cluster to see that it actually happens.  I guess let it
>>>> sit for a while and then check the OSD PG directories to see if the
>>>> object counts make sense given the new settings? :D
>>>> 
>>>> Mark
>>>> 
>>>> On 09/03/2015 04:31 PM, Ben Hines wrote:
>>>>> Hey Mark,
>>>>> 
>>>>> I've just tweaked these filestore settings for my cluster -- after
>>>>> changing this, is there a way to make ceph move existing objects
>>>>> around to new filestore locations, or will this only apply to newly
>>>>> created objects? (i would assume the latter..)
>>>>> 
>>>>> thanks,
>>>>> 
>>>>> -Ben
>>>>> 
>>>>> On Wed, Jul 8, 2015 at 6:39 AM, Mark Nelson <mnel...@redhat.com>
>>>> wrote:
>>>>>> Basically for each PG, there's a directory tree where only a
>>>>>> certain number of objects are allowed in a given directory before
>>>>>> it splits into new branches/leaves.  The problem is that this has a
>>>>>> fair amount of overhead and also there's extra associated dentry
>>>>>> lookups to get at any
>>>> given object.
>>>>>> 
>>>>>> You may want to try something like:
>>>>>> 
>>>>>> "filestore merge threshold = 40"
>>>>>> "filestore split multiple = 8"
>>>>>> 
>>>>>> This will dramatically increase the number of objects per directory
>>>> allowed.
>>>>>> 
>>>>>> Another thing you may want to try is telling the kernel to greatly
>>>>>> favor retaining dentries and inodes in cache:
>>>>>> 
>>>>>> echo 1 | sudo tee /proc/sys/vm/vfs_cache_pressure
>>>>>> 
>>>>>> Mark
>>>>>> 
>>>>>> 
>>>>>> On 07/08/2015 08:13 AM, MATHIAS, Bryn (Bryn) wrote:
>>>>>>> 
>>>>>>> If I create a new pool it is generally fast for a short amount of time.
>>>>>>> Not as fast as if I had a blank cluster, but close to.
>>>>>>> 
>>>>>>> Bryn
>>>>>>>> 
>>>>>>>> On 8 Jul 2015, at 13:55, Gregory Farnum <g...@gregs42.com> wrote:
>>>>>>>> 
>>>>>>>> I think you're probably running into the internal PG/collection
>>>>>>>> splitting here; try searching for those terms and seeing what
>>>>>>>> your OSD folder structures look like. You could test by creating
>>>>>>>> a new pool and seeing if it's faster or slower than the one
>>>>>>>> you've already filled
>>>> up.
>>>>>>>> -Greg
>>>>>>>> 
>>>>>>>> On Wed, Jul 8, 2015 at 1:25 PM, MATHIAS, Bryn (Bryn)
>>>>>>>> <bryn.math...@alcatel-lucent.com> wrote:
>>>>>>>>> 
>>>>>>>>> Hi All,
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> I’m perf testing a cluster again, This time I have re-built the
>>>>>>>>> cluster and am filling it for testing.
>>>>>>>>> 
>>>>>>>>> on a 10 min run I get the following results from 5 load
>>>>>>>>> generators, each writing though 7 iocontexts, with a queue depth
>>>>>>>>> of
>>>> 50 async writes.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Gen1
>>>>>>>>> Percentile 100 = 0.729775905609
>>>>>>>>> Max latencies = 0.729775905609, Min = 0.0320818424225, mean =
>>>>>>>>> 0.0750389684542
>>>>>>>>> Total objects writen = 113088 in time 604.259738207s gives
>>>>>>>>> 187.151307376/s (748.605229503 MB/s)
>>>>>>>>> 
>>>>>>>>> Gen2
>>>>>>>>> Percentile 100 = 0.735981941223
>>>>>>>>> Max latencies = 0.735981941223, Min = 0.0340068340302, mean =
>>>>>>>>> 0.0745198070711
>>>>>>>>> Total objects writen = 113822 in time 604.437897921s gives
>>>>>>>>> 188.310495407/s (753.241981627 MB/s)
>>>>>>>>> 
>>>>>>>>> Gen3
>>>>>>>>> Percentile 100 = 0.828994989395
>>>>>>>>> Max latencies = 0.828994989395, Min = 0.0349340438843, mean =
>>>>>>>>> 0.0745455575197
>>>>>>>>> Total objects writen = 113670 in time 604.352181911s gives
>>>>>>>>> 188.085694736/s (752.342778944 MB/s)
>>>>>>>>> 
>>>>>>>>> Gen4
>>>>>>>>> Percentile 100 = 1.06834602356
>>>>>>>>> Max latencies = 1.06834602356, Min = 0.0333499908447, mean =
>>>>>>>>> 0.0752239764659
>>>>>>>>> Total objects writen = 112744 in time 604.408732891s gives
>>>>>>>>> 186.536020849/s (746.144083397 MB/s)
>>>>>>>>> 
>>>>>>>>> Gen5
>>>>>>>>> Percentile 100 = 0.609658002853
>>>>>>>>> Max latencies = 0.609658002853, Min = 0.032968044281, mean =
>>>>>>>>> 0.0744482759499
>>>>>>>>> Total objects writen = 113918 in time 604.671534061s gives
>>>>>>>>> 188.396498897/s (753.585995589 MB/s)
>>>>>>>>> 
>>>>>>>>> example ceph -w output:
>>>>>>>>> 2015-07-07 15:50:16.507084 mon.0 [INF] pgmap v1077: 2880 pgs:
>>>>>>>>> 2880
>>>>>>>>> active+clean; 1996 GB data, 2515 GB used, 346 TB / 348 TB avail;
>>>>>>>>> active+2185 MB/s
>>>>>>>>> wr, 572 op/s
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> However when the cluster gets over 20% full I see the following
>>>>>>>>> results, this gets worse as the cluster fills up:
>>>>>>>>> 
>>>>>>>>> Gen1
>>>>>>>>> Percentile 100 = 6.71176099777
>>>>>>>>> Max latencies = 6.71176099777, Min = 0.0358741283417, mean =
>>>>>>>>> 0.161760483485
>>>>>>>>> Total objects writen = 52196 in time 604.488474131s gives
>>>>>>>>> 86.347386648/s
>>>>>>>>> (345.389546592 MB/s)
>>>>>>>>> 
>>>>>>>>> Gen2
>>>>>>>>> Max latencies = 4.09169006348, Min = 0.0357890129089, mean =
>>>>>>>>> 0.163243938477
>>>>>>>>> Total objects writen = 51702 in time 604.036739111s gives
>>>>>>>>> 85.5941313704/s (342.376525482 MB/s)
>>>>>>>>> 
>>>>>>>>> Gen3
>>>>>>>>> Percentile 100 = 7.32526683807
>>>>>>>>> Max latencies = 7.32526683807, Min = 0.0366668701172, mean =
>>>>>>>>> 0.163992217926
>>>>>>>>> Total objects writen = 51476 in time 604.684302092s gives
>>>>>>>>> 85.1287189397/s (340.514875759 MB/s)
>>>>>>>>> 
>>>>>>>>> Gen4
>>>>>>>>> Percentile 100 = 7.56094503403
>>>>>>>>> Max latencies = 7.56094503403, Min = 0.0355761051178, mean =
>>>>>>>>> 0.162109421231
>>>>>>>>> Total objects writen = 52092 in time 604.769910812s gives
>>>>>>>>> 86.1352376642/s (344.540950657 MB/s)
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Gen5
>>>>>>>>> Percentile 100 = 6.99595499039
>>>>>>>>> Max latencies = 6.99595499039, Min = 0.0364680290222, mean =
>>>>>>>>> 0.163651215426
>>>>>>>>> Total objects writen = 51566 in time 604.061977148s gives
>>>>>>>>> 85.3654127404/s (341.461650961 MB/s)
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Cluster details:
>>>>>>>>> 5*HPDL380’s with 13*6Tb OSD’s
>>>>>>>>> 128Gb Ram
>>>>>>>>> 2*intel 2620v3
>>>>>>>>> 10 Gbit Ceph public network
>>>>>>>>> 10 Gbit Ceph private network
>>>>>>>>> 
>>>>>>>>> Load generators connected via a 20Gbit bond to the ceph public
>>>> network.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Is this likely to be something happening to the journals?
>>>>>>>>> 
>>>>>>>>> Or is there something else going on.
>>>>>>>>> 
>>>>>>>>> I have run FIO and iperf tests and the disk and network
>>>>>>>>> performance is very high.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Kind Regards,
>>>>>>>>> Bryn Mathias
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> ceph-users mailing list
>>>>>>>>> ceph-users@lists.ceph.com
>>>>>>>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>>>>>>> 
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> ceph-users mailing list
>>>>>>> ceph-users@lists.ceph.com
>>>>>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>>>>>>> 
>>>>>> _______________________________________________
>>>>>> ceph-users mailing list
>>>>>> ceph-users@lists.ceph.com
>>>>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>>>> _______________________________________________
>>>> ceph-users mailing list
>>>> ceph-users@lists.ceph.com
>>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>>>> _______________________________________________
>>>> ceph-users mailing list
>>>> ceph-users@lists.ceph.com
>>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> ceph-users mailing list
>>> ceph-users@lists.ceph.com
>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>> 
>> 
>> 
>> 
> _______________________________________________
> ceph-users mailing list
> ceph-users@lists.ceph.com
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

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

Reply via email to