Benchmarks

From Data.kit.edu
Jump to: navigation, search

Contents

Benchmarks

Individual performance testing

Prepairation

free pagecache, dentries, inodes and flush file system buffers:

sudo echo 3 | sudo tee /proc/sys/vm/drop_caches && sudo sync

OSD/Journal test

Dumpling

This test will benchmark writing to individual OSDs. This will help with OSD/journal configuration.

ceph osd tell <osd number> bench

or to iterate through 10 OSDs:

sudo for j in `seq 10`; do for i in 0 1 2; do ceph osd tell $i bench ; done ; done

Emporer

The format has changed for this command in emporer:

ceph tell osd.<id> bench

also, <id> can be wildcard, thus negating the need for bash command above:

ceph tell osd.* bench

Raw RADOS Cluster test

rados bench

Write:

rados bench -p my_pool 300 write [--no-cleanup] 

Note: --no-cleanup might be required on write test for read test to work. This is if you are testing on an empty pool. If data exists in pool, this isnt needed.

Read:

rados bench -p my_pool 300 seq

RBD Interface test

Bonnie++

dd

To test RBD disk mounted on client:

Large block size:

sudo dd if=/dev/zero of=/mnt/lol bs=1G count=10 oflag=direct   # we should discuss the exact parameters (e.g. count=100)


Common block size:

sudo dd if=/dev/zero of=/mnt/lal bs=4M count=1k oflag=direct

RadosGW Performance test

rest-bench

rest-bench --access-key=xxx --secret=yyy --api-host=localhost write

Asynchronous replication testing

we need to test the replication between zones/regions/GWs. I cannot find a tool in ceph to do this other than watching the GW logs. see here: [1]

WAN scale synchronous replication testing

rados bench

Resources

Benchmarking scripts @ bitbucket

Personal tools