Thank you, I will attempt to play around with these settings and see if I
can achieve better read performance.

Appreciate your insights.

Peter

On Tue, May 3, 2016 at 3:00 PM, Nick Fisk <n...@fisk.me.uk> wrote:

>
>
> > -----Original Message-----
> > From: Peter Kerdisle [mailto:peter.kerdi...@gmail.com]
> > Sent: 03 May 2016 12:15
> > To: n...@fisk.me.uk
> > Cc: ceph-users@lists.ceph.com
> > Subject: Re: [ceph-users] Erasure pool performance expectations
> >
> > Hey Nick,
> >
> > Thanks for taking the time to answer my questions. Some in-line comments.
> >
> > On Tue, May 3, 2016 at 10:51 AM, Nick Fisk <n...@fisk.me.uk> wrote:
> > Hi Peter,
> >
> >
> > > -----Original Message-----
> > > From: ceph-users [mailto:ceph-users-boun...@lists.ceph.com] On Behalf
> > Of
> > > Peter Kerdisle
> > > Sent: 02 May 2016 08:17
> > > To: ceph-users@lists.ceph.com
> > > Subject: [ceph-users] Erasure pool performance expectations
> > >
> > > Hi guys,
> > >
> > > I am currently testing the performance of RBD using a cache pool and a
> 4/2
> > > erasure profile pool.
> > >
> > > I have two SSD cache servers (2 SSDs for journals, 7 SSDs for data)
> with
> > > 2x10Gbit bonded each and a six OSD nodes with a 10Gbit public and
> 10Gbit
> > > cluster network for the erasure pool (10x3TB without separate journal).
> > This
> > > is all on Jewel.
> > >
> > > What I would like to know is if the performance I'm seeing is to be
> > expected
> > > and if there is some way to test this in a more qualifiable way.
> > >
> > > Everything works as expected if the files are present on the cache
> pool,
> > > however when things need to be retrieved from the cache pool I see
> > > performance degradation. I'm trying to simulate real usage as much as
> > > possible and trying to retrieve files from the RBD volume over FTP
> from a
> > > client server. What I'm seeing is that the FTP transfer will stall for
> seconds
> > at a
> > > time and then get some more data which results in an average speed of
> > > 200KB/s. From the cache this is closer to 10MB/s. Is this the expected
> > > behaviour from a erasure coded tier with cache in front?
> >
> > Unfortunately yes. The whole Erasure/Cache thing only really works well
> if
> > the data in the EC tier is only accessed infrequently, otherwise the
> overheads
> > in cache promotion/flushing quickly brings the cluster down to its knees.
> > However it looks as though you are mainly doing reads, which means you
> can
> > probably alter your cache settings to not promote so aggressively on
> reads,
> > as reads can be proxied through to the EC tier instead of promoting. This
> > should reduce the amount of required cache promotions.
> >
> > You are correct that reads have a lower priority of being cached, only
> when
> > they are used very frequently should this be done in an ideal situation.
> >
> >
> > Can you try setting min_read_recency_for promote to something higher?
> >
> > I looked into the setting before but I must admit it's exact purpose
> eludes me
> > still. Would it be correct to simplify it as
> 'min_read_recency_for_promote
> > determines the amount of times a piece would have to be read in a certain
> > interval (set by hit_set_period) in order to promote it to the caching
> tier' ?
>
> Yes that’s correct. Every hit_set_period (assuming there is IO going on) a
> new hitset is created up until the hit_set_count limit. The recency defines
> how many of the last x hitsets an object must have been accessed in.
>
> Tuning it is a bit of a dark art at the moment as you have to try and get
> all the values to match your workload. For starters try something like
>
> Read recency =  2 or 3
> Hit_set_count =10
> Hit_set_period=60
>
> Which will mean if an object is read more than 2 or 3 times in a row
> within the last few minutes it will be promoted. There is no granularity
> below a single hitset, so if an object gets hit a 1000 times in 1 minute
> but then nothing for 5 minutes it will not cause a promotion.
>
> >
> >
> > Also can you check what your hit_set_period and hit_set_count is
> currently
> > set to.
> >
> > hit_set_count is set to 1 and hit_set_period to 1800.
> >
> > What would increasing the hit_set_count do exactly?
> >
> >
> >
> > > Right now I'm unsure how to scientifically test the performance
> retrieving
> > > files when there is a cache miss. If somebody could point me towards a
> > > better way of doing that I would appreciate the help.
> > >
> > > An other thing is that I'm seeing a lot of messages popping up in
> dmesg on
> > > my client server on which the RBD volumes are mounted. (IPs removed)
> > >
> > > [685881.477383] libceph: osd50 :6800 socket closed (con state OPEN)
> > > [685895.597733] libceph: osd54 :6808 socket closed (con state OPEN)
> > > [685895.663971] libceph: osd54 :6808 socket closed (con state OPEN)
> > > [685895.710424] libceph: osd54 :6808 socket closed (con state OPEN)
> > > [685895.749417] libceph: osd54 :6808 socket closed (con state OPEN)
> > > [685896.517778] libceph: osd54 :6808 socket closed (con state OPEN)
> > > [685906.690445] libceph: osd74 :6824 socket closed (con state OPEN)
> > >
> > > Is this a symptom of something?
> >
> > This is just stale connections to the OSD's timing out after the idle
> period and
> > is nothing to worry about.
> >
> > Glad to hear that, I was fearing something might be wrong.
> >
> > Thanks again.
> >
> > Peter
>
>
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to