日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ceph 压力测试

發(fā)布時(shí)間:2024/3/26 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ceph 压力测试 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

[TOC]

ceph 壓力測試報(bào)告

此文檔最新版本地址

概述

對ceph文件集群進(jìn)行性能測試, 以確認(rèn)滿足我們業(yè)務(wù)需求. 此次測試主要測試S3接口讀寫文件性能.

測試環(huán)境

網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

如下圖, client和三臺OSD集群在同一個(gè)內(nèi)網(wǎng), 每臺OSD機(jī)器上, 分別裝有MON和RGW. 測試時(shí)同時(shí)使用多個(gè)RGW, 由客戶端控制將請求分發(fā)到不同RGW服務(wù). 因部署遺留原因, 三臺OSD機(jī)器編號從2開始, 分別是 DFS2, DFS3, DFS4.

軟硬件環(huán)境

OSD服務(wù)器

服務(wù)器硬件配置軟件配置
DFS2Intel Core i7-4790@ 3.60GHz 四核八線程 8G DDR3內(nèi)存 1T 7200轉(zhuǎn)硬盤, 1000M網(wǎng)口centos 7.2, ceph 10.2.2
DFS3Intel Core i7-4790@ 3.60GHz 四核八線程 8G DDR3內(nèi)存 1T 7200轉(zhuǎn)硬盤, 1000M網(wǎng)口centos 7.2, ceph 10.2.2
DFS4Intel Core i7-4790@ 3.60GHz 四核八線程 16G DDR3內(nèi)存 1T 7200轉(zhuǎn)硬盤, 1000M網(wǎng)口centos 7.2, ceph 10.2.2

測試客戶端服務(wù)器

服務(wù)器硬件配置軟件配置
10.141.5.63雙核 Intel Xeon CPU E7- 4850 @ 2.00GHz, 4G內(nèi)存, 1000M網(wǎng)口centos 6.8, java 1.7.0_79
10.141.4.83四核 Intel(R) Xeon(R) CPU E5-2658 v2 @ 2.40GHz, 8G內(nèi)存, 1000M網(wǎng)口centos 6.7, java 1.8.0_92

測試軟件

基于aws api自己寫的 java 客戶端. 另外, 有推薦 cosbench 的. 以后可以看看.

maven依賴:

<dependency><groupId>com.amazonaws</groupId><artifactId>aws-java-sdk-s3</artifactId><version>1.9.0</version> </dependency>

壓測數(shù)據(jù)

注意: 壓測過程中, index副本數(shù)設(shè)置為1, 會(huì)比默認(rèn)的3效率高些.

中等文件寫入壓測

測試內(nèi)容: 文件大小95M,上傳50次
在客戶端5個(gè)線程,20個(gè)線程,50個(gè)線程 3種情況下得出數(shù)據(jù):

1個(gè)副本 1個(gè)RGW

thread cnttime used(s)write speed(M/s)object speed(obj/s)
575.73162.960.66
2065.94772.3060.758
50(一條請求超時(shí))83.3757.1950.5997
數(shù)據(jù)簡單分析:
  • 最高寫入速度也在70 M/s左右.
  • 三臺OSD中的兩臺磁盤io幾乎達(dá)到100%, 一臺在90%左右. 磁盤成為性能瓶頸.
  • 線程數(shù)過多(50), 性能不升反降, 還會(huì)有超時(shí)現(xiàn)象.

2個(gè)副本 1個(gè)RGW

thread cnttime used(s)write speed(M/s)object speed(obj/s)
5139.24734.24390.359
20147.91332.2370.338
50138.83234.3460.360

數(shù)據(jù)簡單分析: 瓶頸與1個(gè)副本1個(gè)RGW類似, 瓶頸在磁盤io. 兩個(gè)副本最大寫入速度在35M/s左右.

3個(gè)副本 1個(gè)RGW

thread cnttime used(s)write speed(M/s)object speed(obj/s)
1223.85921.300.223
5227.56320.9540.2197
20234.08820.370.21359

數(shù)據(jù)簡單分析: 瓶頸與1個(gè)副本1個(gè)RGW類似, 瓶頸在磁盤io. 三個(gè)副本最大寫入速度在30M/s左右.

小文件寫入壓測

測試內(nèi)容: 文件大小30 000字節(jié),上傳5000次
客戶端在啟用20個(gè)線程,100個(gè)線程,200個(gè)線程 3種情況下得出數(shù)據(jù):

設(shè)置了 index 分片為16. 默認(rèn)index不分片, 會(huì)造成寫索引時(shí)單臺OSD成為瓶頸, 磁盤io占滿(大約每秒寫30個(gè)對象).

兩個(gè)副本, 1個(gè)RGW

thread cnttime used(s)write speed(M/s)object speed(obj/s)
2052.4262.79695.37
10034.784.2158143.76
20034.4174.26145.277

資源占用 dstat信息:
20個(gè)線程:

100個(gè)線程:

200個(gè)線程:

磁盤占用 iostat信息:
20個(gè)線程:

100個(gè)線程:

200個(gè)線程:

數(shù)據(jù)簡單分析:

  • 最高文件上傳速度在每秒145個(gè)文件左右. 從20個(gè)線程到100個(gè)線程過程中, 寫入速度明顯提升; 100個(gè)線程后, 達(dá)到峰值.
  • 在壓測過程中, 系統(tǒng)CPU占用很低. 從20個(gè)線程增長到200個(gè)線程, CPU占用增長不明顯, 系統(tǒng)空閑CPU一直維持在80%以上.
  • 到100個(gè)線程以后, 磁盤 io 占用率達(dá)到100%, 成為系統(tǒng)瓶頸. 盡管寫入量并不大, 但是因?yàn)榇罅啃∥募?dǎo)致大量寫入, 使磁盤時(shí)間占滿.
  • 客戶端在線程少的情況下, 不足以達(dá)到最高吞吐量.

單副本, 1個(gè)RGW

thread cnttime used(s)write speed(M/s)object speed(obj/s)
2041.8333.505119.523
10030.9294.741161.66
20040.9843.577122

數(shù)據(jù)簡單分析:

  • 系統(tǒng)占用情況和磁盤占用情況和兩個(gè)副本時(shí)相似, 這里省略.
  • 單副本最高文件寫入速度在每秒160個(gè)左右. 從客戶端20個(gè)線程到100個(gè)線程過程增長明顯, 100個(gè)線程達(dá)到峰值, 從100到200之間有下降趨勢.
  • 在200個(gè)線程時(shí), 比100個(gè)線程速度要下降. 再數(shù)據(jù)出來以后又測試了多次, 200個(gè)線程一般和100個(gè)線程速度持平. 這個(gè)數(shù)據(jù)是一個(gè)特例.
  • 和兩個(gè)副本相比, 因?yàn)橐环輸?shù)據(jù)不需要保存兩份到不同機(jī)器上, 減少了了網(wǎng)絡(luò)和磁盤開銷. 導(dǎo)致速度要比兩個(gè)副本快.

三個(gè)副本, 1個(gè)RGW

thread cnttime used(s)write speed(M/s)object speed(obj/s)
2074.0181.9867.55
10047.2833.101105.746
20045.9833.1887108.7
  • 系統(tǒng)占用情況和磁盤占用情況和兩個(gè)副本時(shí)相似, 這里省略.
  • 三個(gè)副本情況下, 最高文件寫入速度在每秒105個(gè)左右. 從客戶端20個(gè)線程到100個(gè)線程過程中, 增長明顯; 100個(gè)線程達(dá)到峰值; 超過100個(gè)線程, 寫入速度保持在105個(gè)左右.
  • 和兩個(gè)副本相比, 因?yàn)橐环輸?shù)據(jù)需要保存到三臺機(jī)器上, 增大了網(wǎng)絡(luò)和磁盤開銷. 導(dǎo)致速度要比兩個(gè)副本慢.

大文件讀取壓測

因文件讀取耗費(fèi)大量CPU, 所以使用83測試機(jī), 不讓客戶端配置成為性能瓶頸.

壓測方式: 上傳30個(gè)100M的文件, 下載時(shí)隨機(jī)選取文件下載.

三個(gè)副本, 1個(gè)RGW

thread cnttime used(s)write speed(M/s)object speed(obj/s)
2044.8751.1142106.259
10044.2861.129107.672
20044.41.126107.395

內(nèi)存占用 free -g:

[root@dfs2 ~]# free -gtotal used free shared buff/cache available Mem: 7 1 2 0 3 5 Swap: 7 0 7

磁盤占用 iostat:

Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.00 2.00 0.00 3.00 0.00 0.02 16.00 0.03 10.50 0.00 10.50 10.50 3.15 dm-0 0.00 0.00 0.00 4.00 0.00 0.02 12.00 0.03 7.88 0.00 7.88 7.88 3.15 dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.00 2.00 0.00 6.00 0.00 0.03 10.67 0.06 10.17 0.00 10.17 10.17 6.10 dm-0 0.00 0.00 0.00 6.00 0.00 0.03 10.67 0.06 10.50 0.00 10.50 10.17 6.10 dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

系統(tǒng)資源占用 dstat:

數(shù)據(jù)簡單分析:

  • 大文件讀取, 單個(gè)rgw, 最高在107M左右. 從客戶端20線程增加到200線程, 讀取速度增長不明顯.
  • 內(nèi)存還有足夠余量, 磁盤io占用也不高.
  • 從系統(tǒng)資源占用上來看, RGW所在機(jī)器網(wǎng)卡接收和發(fā)送已經(jīng)達(dá)到114M/s左右, 1000M網(wǎng)卡理論最快速度在 1000M bit/8 = 125M 每秒. 所以可以認(rèn)為網(wǎng)卡已經(jīng)跑滿, 瓶頸在1000M網(wǎng)卡上.

一個(gè)副本, 1個(gè)RGW

兩個(gè)副本, 1個(gè)RGW

thread cnttime used(s)write speed(M/s)object speed(obj/s)
2044.6631.119106.763
10043.9321.138108.5398
20043.9611.137108.468

數(shù)據(jù)簡單分析:

  • 數(shù)據(jù)和三個(gè)副本下情況相似. 瓶頸在網(wǎng)卡上.

小文件讀取壓測

壓測方式: 上傳100 000個(gè)小文件, 下載時(shí)隨機(jī)選取文件下載, 下載100000次.

thread cnttime used(s)write speed(M/s)object speed(obj/s)
2030.4373285.474996.347
10028.1863547.86104.04
20028.5783499.19102.61

rgw機(jī)器內(nèi)存占用情況.

[root@dfs2 ~]# free -gtotal used free shared buff/cache available Mem: 7 1 0 0 6 5 Swap: 7 0 7

rgw機(jī)器, 磁盤占用情況

[root@dfs2 ~]# iostat -mdx 2 Linux 3.10.0-327.22.2.el7.x86_64 (dfs2) 08/29/2016 _x86_64_ (8 CPU)Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.01 3.09 1.06 13.40 0.14 0.56 98.73 0.51 35.16 4.11 37.63 7.69 11.13 dm-0 0.00 0.00 1.07 13.96 0.14 0.56 94.99 0.76 50.65 4.26 54.21 7.41 11.13 dm-1 0.00 0.00 0.00 0.04 0.00 0.00 8.05 0.00 21.78 5.51 22.67 0.71 0.00Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.00 5.50 0.00 10.00 0.00 0.08 17.20 0.10 10.40 0.00 10.40 10.40 10.40 dm-0 0.00 0.00 0.00 12.50 0.00 0.08 13.76 0.11 8.56 0.00 8.56 8.32 10.40 dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

RGW機(jī)器資源占用情況 dstat:

----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq| read writ| recv send| in out | int csw 18 7 74 0 0 2| 0 108k| 78M 116M| 0 0 | 29k 191k18 6 73 0 0 2| 0 116k| 76M 115M| 0 0 | 29k 191k18 6 74 0 0 2| 0 48k| 77M 116M| 0 0 | 30k 189k18 6 74 0 0 2| 0 36k| 80M 116M| 0 0 | 30k 189

數(shù)據(jù)簡單分析:

  • 小文件讀取速度可達(dá)每秒100M, 每秒可以讀取3500個(gè)大約3K的文件. //TODO 內(nèi)存策略? 這些數(shù)據(jù)已經(jīng)緩存到內(nèi)存中?
  • 從硬件使用情況來看, 讀取瓶頸在1000M網(wǎng)口上.

硬盤參數(shù)優(yōu)化, 寫入壓測(nobarrier)

開啟/關(guān)閉 xfs nobarrier 參數(shù):

# 開啟 mount -o remount,nobarrier {/dev/mapper/cl_bogon-root} {/} # 關(guān)閉 mount -o remount,barrier {/dev/mapper/cl_bogon-root} {/}

壓測數(shù)據(jù):

副本數(shù)為3, index分片為8, 分別在barrier和nobarrier上傳文件:

barrier 文件大小30k, 上傳5000次
thread cnttime used(s)write speed(M/s)object speed(obj/s)
1225.0180.6522.22
2055.7192.6389.7
10046.4843.154107.56

nobarrier 文件大小30k, 上傳5000次

thread cnttime used(s)write speed(M/s)object speed(obj/s)
148.1473.045103.848
2011.23713.0486444.958
1009.96914.708501.55

barrier 文件大小100M, 上傳50次

thread cnttime used(s)write speed(M/s)object speed(obj/s)
1223.85921.300.223
5227.56320.9540.2197
20234.08820.370.21359

nobarrier 文件大小100M, 上傳50次

thread cnttime used(s)write speed(M/s)object speed(obj/s)
1144.1433.080.3468
5135.58335.1690.3687
20141.8233.620.3525

數(shù)據(jù)簡單分析:

  • 關(guān)閉 xfs文件系統(tǒng) barrier 選項(xiàng)以后, 使小文件寫入性能提升5倍左右. 效果非常可觀. 100M左右文件, 性能提升為以前的1.65倍左右(網(wǎng)卡還沒跑滿, 瓶頸在磁盤io).
  • 官方雖然不建議關(guān)閉nobarrier選項(xiàng), 但是我們有數(shù)據(jù)多機(jī)器寫入多個(gè)副本. 但是存在OSD機(jī)器在一個(gè)機(jī)房, 當(dāng)遭遇同一機(jī)房停電情況, 數(shù)據(jù)就會(huì)損壞的極端情況. 這個(gè)視具體情況而定. 如果寫入確實(shí)是系統(tǒng)瓶頸, 則建議使用nobarrier選項(xiàng). 也可以臨時(shí)不使用nobarrier選項(xiàng), 當(dāng)達(dá)到性能瓶頸以后, 再使用.

壓測總結(jié)

  • 100M文件寫最高 入單副本 70M/s, 兩個(gè)副本35M/s, 三個(gè)副本20M每秒, 瓶頸在磁盤io. //TODO 進(jìn)一步分析哪個(gè)環(huán)節(jié)影響效率(文件數(shù)據(jù)寫入/索引寫入/日志寫入) 這塊可以通過加入更多OSD服務(wù)器, 升級SSD硬盤來進(jìn)一步優(yōu)化.
  • 30K文件寫入在index分片(16個(gè)分片)的情況下, 單副本寫入每秒能達(dá)到160個(gè)文件, 兩副本最高能達(dá)到每秒145個(gè)文件寫入, 三副本最高能達(dá)到每秒 105個(gè)文件. 性能瓶頸在磁盤io上. index不分片, 寫入index讓對應(yīng)機(jī)器磁盤成為瓶頸. 最高在每秒30個(gè)文件左右.
  • 100M文件讀取, 1~3個(gè)副本, 都能達(dá)到 100M/s 的讀取速度. 性能瓶頸在1000M網(wǎng)卡上.
  • 30K文件讀取, 1~3個(gè)副本, 都能達(dá)到100M/s的速度. 性能瓶頸在1000M網(wǎng)卡上. //TODO 這個(gè)會(huì)對緩存進(jìn)行清理再測測試.
  • 測試過程中千兆網(wǎng)絡(luò)很容易成為系統(tǒng)瓶頸. 在生產(chǎn)部署時(shí), 最好使用萬兆網(wǎng)絡(luò). 考慮client網(wǎng)絡(luò)和cluster網(wǎng)絡(luò)分離(http://docs.ceph.com/docs/master/rados/configuration/network-config-ref/)
  • 測試過程中, index 副本數(shù)設(shè)置為1, 沒有找到index丟失的情況下(概率低), 從數(shù)據(jù)文件重建的方法, 建議線上環(huán)境設(shè)置大于等于2.
  • 關(guān)閉 xfs文件系統(tǒng) barrier 選項(xiàng)以后, 使文件寫入性能提升明顯. 如果對寫入要求較高的場景, 建議使用nobarrier選項(xiàng).
  • 因文件寫入瓶頸在磁盤io上, 測試過程中, 還增加OSD 操作線程數(shù), OSD操作硬盤線程數(shù), 小文件寫入都沒有提升.
  • 因?yàn)闇y試過程中, RGW部署在OSD服務(wù)器上, RGW和同一臺機(jī)器上的OSD訪問網(wǎng)絡(luò)開銷會(huì)小很多. 分開部署網(wǎng)絡(luò)開銷會(huì)高一些. 網(wǎng)絡(luò)影響很大.
  • 轉(zhuǎn)載于:https://my.oschina.net/u/1169457/blog/740819

    總結(jié)

    以上是生活随笔為你收集整理的ceph 压力测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。