10/14/2014 Weekly Ceph Performance Meeting

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

 



Hi,
This is a followup on the OSD wbthrottle slow issue casued by fdatasync discussed on the weekly performance meeting. 
For a 4K random write tests (qd=2) with qem-rbd driver and 50 volumes:
* We are able to get ~3100IOPS on our setup with Firefly (0.80.5) default parameter  
* We can get ~3200 IOPS on the same setup with if we set wbthrottle = 1
* if we replace fdatasync with sync_file_range, we are albe to get 4457 IOPS, 41% improvement compared with all the default parameter. 

Setup configuration: 
* 4 OSD nodes (E3-1275 @3.5GHz processor with 32GB memory)
* each attached 10x Seagate 3TB 7200rpm HDD, with 2x Intel 400GB SSD as Journal
* network is 10GB. 

Wbthrottle tunings:
filestore_wbthrottle_xfs_ios_start_flusher=1
filestore_wbthrottle_xfs_bytes_start_flusher=1
filestore_wbthrottle_xfs_inodes_start_flusher=1

fdatasync -> sync_file_range:

diff codes_backup/WBThrottle.cc ceph-0.80.5/src/os/WBThrottle.cc
163c163
< #ifdef HAVE_FDATASYNC
---
> /*#ifdef HAVE_FDATASYNC
164a165,167
> */
> #ifdef HAVE_SYNC_FILE_RANGE
>     ::sync_file_range(**wb.get<1>(), wb.get<2>().offset, wb.get<2>().len, SYNC_FILE_RANGE_WRITE);
210c213
<   wbiter->second.first.add(nocache, len, 1);
---
>   wbiter->second.first.add(nocache, len, 1, offset, len);
 
 
[root@a-ceph04 opt]# diff codes_backup/WBThrottle.h ceph-0.80.5/src/os/WBThrottle.h
72a73,74
>     uint64_t offset;
>     uint64_t len;
74c76
<     void add(bool _nocache, uint64_t _size, uint64_t _ios) {
---
>     void add(bool _nocache, uint64_t _size, uint64_t _ios, uint64_t _offset, uint64_t _len) {
78a81,82
>       offset = _offset;
>       len = _len;

Thanks
Jian
��.n��������+%������w��{.n����z��u���ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f





[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux