All of lore.kernel.org
 help / color / mirror / Atom feed
* [Share]Performance tunning on Ceph FileStore with SSD backend
@ 2014-04-09 10:05 Haomai Wang
  2014-04-09 12:07 ` Mark Nelson
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Haomai Wang @ 2014-04-09 10:05 UTC (permalink / raw)
  To: ceph-devel@vger.kernel.org

Hi all,

I would like to share some ideas about how to improve performance on
ceph with SSD. Not much preciseness.

Our ssd is 500GB and each OSD own a SSD(journal is on the same SSD).
ceph version is 0.67.5(Dumping)

At first, we find three bottleneck on filestore:
1. fdcache_lock(changed in Firely release)
2. lfn_find in omap_* methods
3. DBObjectMap header

According to my understanding and the docs in
ObjectStore.h(https://github.com/ceph/ceph/blob/master/src/os/ObjectStore.h),
I simply remove lfn_find in omap_* and fdcache_lock. I'm not fully
sure the correctness of this change, but it works well still now.

DBObjectMap header patch is on the pull request queue and may be
merged in the next feature merge window.

With things above done, we get much performance improvement in disk
util and benchmark results(3x-4x).

Next, we find fdcache size become the main bottleneck. For example, if
hot data range is 100GB, we need 25000(100GB/4MB) fd to cache. If hot
data range is 1TB, we need 250000(1000GB/4MB) fd to cache. With
increase "filestore_fd_cache_size", the cost of lookup(FDCache) and
cache miss is expensive and can't be afford. The implementation of
FDCache isn't O(1). So we only can get high performance on fdcache hit
range(maybe 100GB with 10240 fdcache size) and more data exceed the
size of fdcaceh will be disaster. If you want to cache more fd(102400
fdcache size), the implementation of FDCache will bring on extra CPU
cost(can't be ignore) for each op.

Because of the capacity of SSD(several hundreds GB), we try to
increase the size of rbd object(16MB) so less fd cache is needed. As
for FDCache implementation, we simply discard SimpleLRU but introduce
RandomCache. Now we can set much larger fdcache size(near cache all
fd) with little overload.

With these, we achieve 3x-4x performance improvements on filestore with SSD.

Maybe it exists something I missed or something wrong, hope can
correct me. I hope it can help to improve FileStore on SSD and push
into master branch.

-- 

Best Regards,

Wheat

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2014-05-27 16:32 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-09 10:05 [Share]Performance tunning on Ceph FileStore with SSD backend Haomai Wang
2014-04-09 12:07 ` Mark Nelson
2014-04-09 12:08 ` Alexandre DERUMIER
2014-04-09 14:10   ` Sebastien Han
2014-04-09 14:15 ` Gregory Farnum
2014-04-11  6:04   ` Alexandre DERUMIER
2014-04-11  8:41     ` Haomai Wang
2014-05-26 20:29 ` Stefan Priebe
2014-05-27  4:42   ` Haomai Wang
2014-05-27  6:05     ` Stefan Priebe - Profihost AG
2014-05-27  6:37       ` Haomai Wang
2014-05-27  6:45         ` Stefan Priebe - Profihost AG
2014-05-27 10:05           ` Haomai Wang
2014-05-27 16:32             ` Milosz Tanski
2014-05-27  4:46   ` Haomai Wang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.