Hi Bradley,
I did the similar benchmark recently, and the result is no better than yours.
I don't know why random read performance was so poor. Can someone help me out?
My benchmark script: https://gist.github.com/kazhang/8344180
I did the similar benchmark recently, and the result is no better than yours.
My setup:
3 servers(CPU: Intel Xeon E5-2609 0 @ 2.40GHz, RAM: 32GB), I used only 2 SATA 7.2k RPM disk(2 TB) plus a 400 GB SSD for OSD in total.
Servers are connected with 10gbps ethernet.
Replication level: 2
I launched 3 VMs acting as ceph client, then I used fio to run 4k random read/write benchmark on all VMs at the same time.
For 4k random read: 176 IOPS
For 4k random write: 474 IOPS
I don't know why random read performance was so poor. Can someone help me out?
Here is my fio configuration:
[global]
iodepth=64
runtime=300
ioengine=libaio
direct=1
size=10G
directory=/mnt
filename=bench
ramp_time=40
invalidate=1
exec_prerun="echo 3 > /proc/sys/vm/drop_caches"
[rand-write-4k]
bs=4K
rw=randwrite
[rand-read-4k]
bs=4K
rw=randread
[seq-read-64k]
bs=64K
rw=read
[seq-write-64k]
bs=64K
rw=write
Regards,
Kai
At 2014-01-09 01:25:17,"Bradley Kite" <bradley.kite@xxxxxxxxx> wrote:
At 2014-01-09 01:25:17,"Bradley Kite" <bradley.kite@xxxxxxxxx> wrote:
Hi there,I am new to Ceph and still learning its performance capabilities, but I would like to share my performance results in the hope that they are useful to others, and also to see if there is room for improvement in my setup.Firstly, a little about my setup:3 servers (quad-core CPU, 16GB RAM), each with 4 SATA 7.2K RPM disks (4TB) plus a 160GB SSD.I have mapped a 10GB volume to a 4th server which is acting as a ceph client. Due to Ceph's thin-provisioning, I used "dd" to write to the entire block device to ensure that the ceph volume is fully allocated. DD writes sequentially at around 95MB/sec which shows the network can run at full capacity.Each device is connected by a single 1gbps ethernet link to a switch.I then used "fio" to benchmark the raw block device. The reason for this is that I also need to compare ceph against a traditional iscsi SAN and the internal "rados bench" tools cannot be used for this.The replication level for the pool I am testing against is 2.I have tried two setups with regards to the OSD's - firstly with the journal running on a partition on the SSD, and secondly by using "bcache" (http://bcache.evilpiepirate.org) to provide a write-back cache of the 4TB drives.In all tests, fio was configured to do direct I/O with 256 parallel I/O's.With the journal on the SSD:4k random read, around 1200 iops/second, 5mbps.4k random write, around 300 iops/second, 1.2 mbps.Using BCache for each OSD (journal is just a file on the OSD):4k random read, around 2200 iops/second, 9mbps.4k random write, around 300 iops/second, 1.2 mbps.By comparison, a 12-disk RAID5 iscsi SAN is doing ~4000 read iops and ~2000 iops write (but with 15KRPM SAS disks).What is interesting is that bcache definitely has a positive effect on the read IOPS, but something else is being a bottle-neck for the writes.It looks to me like I have missed something in the configuration which brings down the write IOPS - since 300 iops/second is very poor. If, however, I turn off Direct I/O in the fio tests the performance jumps to around 4000 iops/second. It makes no difference to the read performance which is to be expected.I have tried increasing the number of threads in each OSD but that has made no difference.I have also tried images with different (smaller) stripe sizes (--order) instead of the default 4MB but it doesnt make any difference.Do these figures look reasonable to others? What kind of IOPS should I be expecting?Additional info is below:Ceph 0.72.2 running on Centos 6.5 (with custom 3.10.25 kernel for bcache support)3 servers of the following spec:CPU: Quad Core Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHzRAM: 16GBDisks: 4x 4TB Seagate Constellation (7.2K RPM) plus 1x Intel 160GB DC S3500 SSDTest pool has 400 placement groups (and placement groups for placement).fio configuration - read:[global]rw=randreadfilename=/dev/rbd1ioengine=posixaioiodepth=256direct=1runtime=60ramp_time=30blocksize=4kwrite_bw_log=fio-2-random-readwrite_lat_log=fio-2-random-readwrite_iops_log=fio-2-random-readfio configuration - writes:[global]rw=randwritefilename=/dev/rbd1ioengine=posixaioiodepth=256direct=1runtime=60ramp_time=30blocksize=4kwrite_bw_log=fio-2-random-writewrite_lat_log=fio-2-random-writewrite_iops_log=fio-2-random-write
_______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com