Ilk Client ve Ceph Performans Test Ornekleri

Once sisteme bir bakalim, rbd imajlarini yaratabilecegimiz pool lar mevcut mu ?

 vahric:~ vahricmuhtaryan$ rados lspools

data

metadata

rbd

volumes

vms

images

backups

Simdi 20 GB lik bir disk yaratalim client uzerinden

vahric:~ vahricmuhtaryan$ rbd create rbd_disk1 –size 20480

Varsayili olarak “rbd” adli pool uzerinde yaratilacak eger siz bunu degistirmek isterseniz bu kez “-p pool_adi” parametresini kullanabilirsiniz.

Yarattigimiz diski gorelim

vahric:~ vahricmuhtaryan$ rbd ls

rbd_disk1

Ilgili disk hakkinda daha fazla bilgi alalim , gordugumuz gibi 5120 obje uzerine yayilmis kendisi

vahric:~ vahricmuhtaryan$ rbd –image rbd_disk1 info

rbd image ‘rbd_disk1’:

size 20480 MB in 5120 objects

order 22 (4096 kB objects)

block_name_prefix: rb.0.348f6.238e1f29

format: 1

Client a ilgili diski tanitalim

vahric:~ vahricmuhtaryan$ sudo rbd map rbd/rbd_disk1

Percinleyelim

vahric:~ vahricmuhtaryan$ rbd showmapped

id pool image     snap device

0  rbd  rbd_disk1 –    /dev/rbd0

Klasik Bir Partition Yaratalim

vahric:~ vahricmuhtaryan$ sudo mkfs.xfs /dev/rbd0

log stripe unit (4194304 bytes) is too large (maximum is 256KiB)

log stripe unit adjusted to 32KiB

meta-data=/dev/rbd0              isize=256    agcount=17, agsize=326656 blks

=                       sectsz=512   attr=2, projid32bit=1

=                       crc=0        finobt=0

data     =                       bsize=4096   blocks=5242880, imaxpct=25

=                       sunit=1024   swidth=1024 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=0

log      =internal log           bsize=4096   blocks=2560, version=2

=                       sectsz=512   sunit=8 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

Mount Edelim

vahric:~ vahricmuhtaryan$ sudo mount /dev/rbd0 /mnt/

/dev/rbd0 on /mnt type xfs (rw,relatime,attr2,inode64,sunit=8192,swidth=8192,noquota)

Simdi Ufak bir Yazma Testi

vahric:~ vahricmuhtaryan$ sudo dd if=/dev/zero of=/mnt/dosya1 count=100 bs=1M

100+0 records in

100+0 records out

104857600 bytes (105 MB) copied, 0.0541026 s, 1.9 GB/s

stack@helion-cp1-c0-m1-mgmt:~$ ls -al /mnt/

total 102404

drwxr-xr-x  2 root root        35 Mar 18 11:44 .

drwxr-xr-x 23 root root      4096 Feb 26 16:09 ..

-rw-r–r–  1 root root 104857600 Mar 18 11:44 dosya1

-rw-r–r–  1 root root         0 Mar 18 11:39 test1.txt

Performans Test Ornekleri

Performans testleri yapmadan once bilinmelidirki OSD rolune sahip nodelar CPU-Intensive olup olasi bir recovery durumda dahada CPU-Intensive olacaklardir.

Memory bakimindan OSD/HDD basina 1GB-2GB Ram mutlaka olmali sistemde

Network kismi goreceli olcumleme yapmak lazim kullanim oraninza gore 10G diyip gaza gelelim

Disk , burada bizi asil etkileyen faktor Ceph i sadece object storage olarak mi yoksa ayni zamanda block access icinde kullanip kullanmayacaginiz.

Ceph kullaniyorsaniz bilinki journaling var ve bizim icin bir disk’i ikiye bolup birini journaling icin digerini data icin kullanacagiz. Ilk yazma istegi journal alana daha sonra Client’a ACK daha sonra veri data alanina gecer. Burada hizi artirmak icin journal partition’i data partition’dan ayirmak ve SSD uzerine koymak gerekli block erisimler icin bject bazli erisimler icin bu gerekli olmayabilir cunku object erisiminden bahsederken daha dusuk bir yukten bahsediyor olacagiz.

Burada 4 OSD de bir SSD kullanmak gibi bir oneride bulunmus ceph , test edilebilir bir deger gibi duruyor.

Birde filesystem sonuc olarak ceph de objeleri bir file system uzerinde tutuyor brtfs , xfs ve ext4 gibi , sececeginiz fs inde bu ise katkisi var kuskusuz.

Ceph built-in test performans olcum programi olan “rados bench” ile geliyor. Ornek olarak asagidaki komut cok olabilir ama -t 64 kaldirabilirsiniz .

Komutu incelersek ;

“data” adli pool’a , 60 saniye boyunca , yazma islemi yaptik ve 64 paralel islem belkide 64 adet instance bu isi yapiyr gibi sekillendirdik.

vahric:~ vahricmuhtaryan$ rados bench -p data 60 write –no-cleanup -t 64

Maintaining 64 concurrent writes of 4194304 bytes for up to 60 seconds or 0 objects

Object prefix: benchmark_data_

sec Cur ops   started  finished  avg MB/s  cur MB/s  last lat   avg lat

0       0         0         0         0         0         –         0

1      63       179       116   463.884       464   0.38101   0.37249

2      63       345       282   563.897       664  0.366082  0.371803

3      63       518       455   606.567       692  0.323779  0.379964

4      64       697       633   632.902       712  0.633568  0.375212

5      64       870       806   644.701       692  0.323645  0.372506

6      63      1052       989   659.232       732  0.324917  0.370092

7      63      1261      1198   684.468       836  0.289412  0.359564

8      64      1448      1384   691.895       744  0.640746  0.355492

9      63      1636      1573   699.005       756  0.375221  0.354127

10      63      1825      1762   704.695       756  0.296463   0.35258

11      63      2009      1946   707.533       736     0.313  0.352625

12      64      2212      2148   715.898       808     0.281   0.34923

13      63      2400      2337   718.973       756  0.301415  0.347757

14      63      2597      2534   723.895       788  0.316924  0.346277

15      63      2780      2717   724.427       732  0.352922  0.345955

16      63      2976      2913   728.144       784  0.291264  0.345326

17      63      3162      3099    729.07       744  0.345573   0.34483

18      63      3345      3282   729.226       732  0.360665  0.344803

19      64      3535      3471    730.63       756  0.355096   0.34454

2016-03-18 15:35:15.960296min lat: 0.255346 max lat: 1.08089 avg lat: 0.345816

sec Cur ops   started  finished  avg MB/s  cur MB/s  last lat   avg lat

20      63      3707      3644   728.693       692  0.688611  0.345816

21      63      3886      3823   728.084       716  0.380712  0.346103

22      64      4042      3978   723.167       620  0.391788  0.347741

23      63      4222      4159   723.199       724  0.637858  0.349523

24      63      4398      4335   722.395       704  0.350302  0.349731

25      64      4583      4519   722.935       736  0.324349  0.349799

26      63      4762      4699   722.818       720  0.397335  0.349641

27      63      4923      4860   719.895       644  0.320317  0.351497

28      63      5107      5044   720.466       736  0.354695  0.351503

29      64      5290      5226   720.723       728  0.357651  0.351386

30      63      5477      5414   721.762       752  0.346044   0.35118

31      63      5665      5602   722.733       752  0.322997  0.350751

32      64      5856      5792   723.895       760  0.286673  0.350305

33      63      6056      5993   726.319       804  0.286453  0.349562

34      63      6241      6178   726.718       740  0.382151  0.348804

35      64      6418      6354   726.067       704   0.70621  0.349417

36      63      6603      6540   726.562       744  0.330412  0.349448

37      63      6793      6730   727.463       760  0.307236   0.34913

38      63      6996      6933   729.685       812  0.304802  0.348192

39      64      7194      7130   731.177       788  0.308319  0.347657

2016-03-18 15:35:35.963088min lat: 0.243614 max lat: 1.09487 avg lat: 0.347097

sec Cur ops   started  finished  avg MB/s  cur MB/s  last lat   avg lat

40      64      7387      7323   732.195       772  0.336614  0.347097

41      63      7568      7505    732.09       728  0.305704  0.347322

42      63      7741      7678   731.133       692  0.298869  0.347838

43      64      7915      7851   730.221       692  0.385897  0.348186

44      63      8109      8046   731.349       780   0.31149  0.347653

45      63      8293      8230   731.451       736  0.341667  0.347736

46      63      8486      8423   732.329       772  0.314524  0.347356

47      63      8675      8612   732.831       756  0.319864  0.347313

48      63      8871      8808   733.894       784  0.297605   0.34688

49      63      9071      9008   735.241       800  0.294334  0.346284

50      64      9276      9212   736.854       816  0.266206  0.345516

51      64      9446      9382   735.738       680  0.322462  0.345893

52      63      9623      9560    735.28       712  0.373721  0.346026

53      64      9807      9743   735.216       732  0.351035  0.346179

54      63      9963      9900   733.229       628  0.772809  0.346678

55      63     10138     10075   732.623       700   0.36974  0.347414

56      63     10310     10247   731.824       688  0.728308  0.347864

57      64     10479     10415   730.773       672  0.326227  0.348262

58      63     10670     10607   731.414       768  0.353456  0.348211

59      63     10859     10796   731.828       756  0.304951  0.348066

2016-03-18 15:35:55.965885min lat: 0.234814 max lat: 1.11278 avg lat: 0.348373

sec Cur ops   started  finished  avg MB/s  cur MB/s  last lat   avg lat

60      55     11024     10969   731.163       692  0.234814  0.348373

Total time run:         60.166694

Total writes made:      11024

Write size:             4194304

Bandwidth (MB/sec):     732.897 

Stddev Bandwidth:       109.541

Max bandwidth (MB/sec): 836

Min bandwidth (MB/sec): 0

Average Latency:        0.348392

Stddev Latency:         0.0837083

Max latency:            1.11278

Min latency:            0.172449

Bu arada OSD node larin CPU kuyruk ve I/O wait degerlerine dikkat …. (vmstat ciktisi)

Dikkat ederseniz cok fazla “interrupts” ve “context” islemi var bunu icinded cpu kuyruguda isler var … 


2  0      0 119779248 301012 9027476    0    0     0 1020508 39561 81965  9 16 57 18  0

4  3      0 119050680 301012 9723692    0    0     0 1484501 45600 99320  9 17 52 22  0

1  4      0 118306992 301012 10419900    0    0     0 1453172 43269 89217  7 16 54 22  0

4  2      0 117552920 301012 11151764    0    0     0 1417888 47453 95868 10 17 53 20  0

2  3      0 116816936 301012 11863880    0    0     0 1441024 59888 102892 10 17 48 26  0

3  5      0 116025456 301012 12621544    0    0     0 1573439 65494 109183 10 21 49 21  0

1  1      0 115153008 301012 13466820    0    0     0 1790724 69421 125151 11 21 43 25  0

1  3      0 114280216 301012 14284316    0    0     0 1672340 66805 108805 12 21 41 25  0

1  5      0 113504304 301012 15012172    0    0     0 1482380 66205 109008 11 17 51 21  0

2  1      0 112705664 301012 15778160    0    0     0 1523221 66547 113069  9 19 48 24  0

3  5      0 111925152 301012 16550136    0    0     0 1595473 67025 116527 11 20 48 21  0

2  2      0 111107920 301012 17342984    0    0     0 1697492 67898 121723 11 21 46 22  0

3  4      0 110227744 301012 18188932    0    0     0 1722688 71108 120435 11 22 43 24  0

3  6      0 109411400 301012 18981508    0    0     0 1602492 67416 110758 10 21 46 23  0

4  3      0 108644624 301012 19716368    0    0     0 1496712 74043 111431  9 19 49 22  0

2  2      0 107804960 301012 20534756    0    0     0 1657152 82051 119790 11 21 44 24  0

3  4      0 107011064 301012 21308212    0    0     0 1672845 75802 113841 10 20 48 22  0

3  5      0 106253024 301012 22056944    0    0     0 1569166 73200 105035 10 19 48 23  0

4  1      0 105449408 301012 22834144    0    0     0 1522580 74871 107535 10 19 46 25  0

2  6      0 104693064 301012 23557616    0    0     0 1478552 66217 106022 10 17 52 21  0

4  0      0 103984384 301012 24243168    0    0     0 1387364 66384 106223  9 18 53 20  0

1  3      0 103327632 301012 24888936    0    0     0 1413308 66325 97587  9 16 55 19  0

2  2      0 102538480 301012 25643540    0    0     0 1539750 67207 101545  9 19 49 24  0

2  1      0 101758240 301012 26402912    0    0     0 1508559 73090 103293 10 19 51 21  0

4  4      0 100997856 301012 27141676    0    0     0 1508552 73194 110821 10 19 47 23  0

3  1      0 100307072 301012 27825040    0    0     0 1395524 71138 104815  9 18 54 20  0

1  5      0 99576872 301012 28523204    0    0     0 1531928 68252 106490  8 19 52 21  0

2  2      0 98788992 301012 29293932    0    0     0 1583288 74612 107305 11 19 48 22  0

12  4      0 98010560 301012 30050480    0    0     0 1515286 73645 106091 10 19 51 21  0

5  5      0 97250712 301012 30797468    0    0     0 1512376 76516 110708  9 20 49 22  0

4  2      0 96409528 301012 31580792    0    0     0 1606716 81483 119983 11 21 46 22  0

5  2      0 95567696 301012 32378328    0    0     0 1707854 80155 121890 13 21 43 24  0

4  2      0 94736072 301012 33180668    0    0     0 1656548 77087 111518 11 20 46 24  0

Ayni testi birde read icin yapalim (seq)

vahric:~ vahricmuhtaryan$ rados bench -p data 60 seq -t 64

2016-03-18 15:47:38.961955min lat: 0.168118 max lat: 0.690079 avg lat: 0.24984

sec Cur ops   started  finished  avg MB/s  cur MB/s  last lat   avg lat

40      63     10259     10196   1019.44      1012  0.217678   0.24984

41      64     10512     10448   1019.16      1008  0.245161    0.2499

42      63     10769     10706   1019.46      1032  0.213964  0.249931

43      63     11024     10961   1019.47      1020  0.082318  0.249911

Total time run:        43.147236

Total reads made:     11024

Read size:            4194304

Bandwidth (MB/sec):    1021.989

Average Latency:       0.249893

Max latency:           0.690079

Min latency:           0.082318

Ayni testi birde read icin yapalim (random)

vahric:~ vahricmuhtaryan$ rados bench -p data 60 rand -t 64

Guzel Linkler

Daha fazla rbd kullanimi icin : http://docs.ceph.com/docs/master/man/8/rbd/

https://www.thomas-krenn.com/en/wiki/Linux_Performance_Measurements_using_vmstat

Posted on 18/03/2016, in ceph and tagged , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: