玩轉ceph性能測試---對象存儲(一)

筆者最近在工作中需要測試ceph的rgw,于是邊測試邊學習。
首先工具采用的intel的一個開源工具cosbench,這也是業界主流的對象存儲測試工具。

1、cosbench的安裝,啟動
下載最新的cosbench包
wget https://github.com/intel-cloud/cosbench/releases/download/v0.4.2.c4/0.4.2.c4.zip
解壓
unzip 0.4.2.c4.zip

安裝相關工具包
yum install java-1.7.0-openjdk nmap-ncat

給所有的sh腳本加執行權限
chmod +x *.sh

取消http代理
unset http_proxy

如果是controller節點,執行start-all.sh
如果是driver節點,執行start-driver.sh
我的環境里面是1個controller+3個driver,controller和其中1個driver共用一個節點
修改conf/controller.conf
玩轉ceph性能測試---對象存儲(一)

修改各個節點的conf/driver.conf
玩轉ceph性能測試---對象存儲(一)

controller 執行start-all.sh
玩轉ceph性能測試---對象存儲(一)

玩轉ceph性能測試---對象存儲(一)

driver節點執行start-driver.sh
玩轉ceph性能測試---對象存儲(一)

http://controllerip:19088/controller/
登陸controller web頁面
玩轉ceph性能測試---對象存儲(一)
3個driver節點都ok

2、在conf目錄下有各個配置文件
玩轉ceph性能測試---對象存儲(一)

3、ceph的對象存儲支持S3和swift兩種接口,本篇先討論S3
測試S3, 可以根據s3-config-sample.xml修改
<?xml version="1.0" encoding="UTF-8" ?>
<workload name="s3-sample" description="sample benchmark for s3">

<storage type="s3" config="accesskey=dbce6f1739494a87b8d6770b0c831d8d;secretkey=72b3205f558c475daac7b3bc756a63bc;endpoint=http://rgwip:8080" />
-----認證信息 accesskey secretkey endpoiont 去自己的ceph環境中獲取
<workflow>

<workstage name="init"><work type="init" workers="1" config="cprefix=s3testqwer;containers=r(1,32)" />
</workstage>

----init階段,主要是創建bucket,上述配置為創建s3testqwer為前綴的32個bucket
<workstage name="prepare">
<work type="prepare" workers="1" config="cprefix=s3testqwer;containers=r(1,32);objects=r(1,100);sizes=c(64)KB" />
</workstage>
----prepare階段,主要是創建bucket里面的object,上述為在每個bucket創建64k的object 100個,64k可配范圍,預先創建好數據庫可以供下面的讀測試使用
<workstage name="main">
<work name="main" workers="8" runtime="300">
<operation type="read" ratio="100" config="cprefix=s3testqwer;containers=u(1,32);objects=u(1,100)" />
<operation type="write" ratio="0" config="cprefix=s3testqwer;containers=u(1,32);objects=u(1,100);sizes=c(64)KB" />
</work>
</workstage>
----main,執行階段,ratio是執行百分比,workers是并發數,runtime是執行時間
<workstage name="cleanup">
<work type="cleanup" workers="1" config="cprefix=s3testqwer;containers=r(1,32);objects=r(1,100)" />
</workstage>
----cleanup,清理object
<workstage name="dispose">
<work type="dispose" workers="1" config="cprefix=s3testqwer;containers=r(1,32)" />
</workstage>
-----dispose,清理bucket
</workflow>

</workload>
同一個workstage里面的work是并發執行的,比如你有多個driver,就會分配到多個driver去執行,每一個work里面的worker又是并發,worker也是負載到多個driver去的,多個workstage是順序執行

導入寫好的workstage腳本
玩轉ceph性能測試---對象存儲(一)

然后submit

依次執行init-prepare-main-cleanup-dispose
玩轉ceph性能測試---對象存儲(一)

執行結果
玩轉ceph性能測試---對象存儲(一)

上圖中各個類別說明:
Op-type - 操作類型
Op-Count - 操作總數
Byte-Count - byte總數
Avg-ResTime - 響應時間,是數據傳輸時間和處理時間的總和
Avg-ProceTime - 讀寫操作的時間
Throughput - 吞吐量,每秒操作數
Bandwidth - 帶寬
Succ-Ratio - 操作的成功率

圖標可以看整個數據的波動 整體還算平穩

玩轉ceph性能測試---對象存儲(一)

玩轉ceph性能測試---對象存儲(一)

有33條錯誤
玩轉ceph性能測試---對象存儲(一)
可以在cosbench的log目錄下找到錯誤log

玩轉ceph性能測試---對象存儲(一)

查看對應mission的log
玩轉ceph性能測試---對象存儲(一)
這是java啟動的一個錯誤:
1、stop-all.sh 停止 cosbench 進程(controller, drivers)
2、編輯 cosbench-start.sh 文件,找到java啟動命令行參數, 增加"-Dcom.amazonaws.services.s3.disableGetObjectMD5Validation=true" 關閉S3的MD5校驗功能
3、start-all.sh 啟動

修改后再次執行workload,不再報錯,可以根據自己的配置調整腳本,比如只想測試write并且又想保留數據,就可以不寫cleanup和dispose,當然也可以自定義work

附加一個swift接口測試的xml
玩轉ceph性能測試---對象存儲(一)

轉載于:https://blog.51cto.com/14009921/2311191

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/389345.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/389345.shtml
英文地址,請注明出處:http://en.pswp.cn/news/389345.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[BZOJ 4300]絕世好題

Description 題庫鏈接 給定一個長度為 \(n\) 的數列 \(a_i\) &#xff0c;求 \(a_i\) 的子序列 \(b_i\) 的最長長度&#xff0c;滿足 \(b_i\wedge b_{i-1}\neq 0\) &#xff08; \(\wedge\) 表示按位與&#xff09; \(1\leq n\leq 100000\) Solution 令 \(f_i\) 為二進制第 \(i…

因果關系和相關關系 大數據_數據科學中的相關性與因果關系

因果關系和相關關系 大數據Let’s jump into it right away.讓我們馬上進入。 相關性 (Correlation) Correlation means relationship and association to another variable. For example, a movement in one variable associates with the movement in another variable. For…

Pytorch構建模型的3種方法

這個地方一直是我思考的地方&#xff01;因為學的代碼太多了&#xff0c;構建的模型各有不同&#xff0c;這里記錄一下&#xff01; 可以使用以下3種方式構建模型&#xff1a; 1&#xff0c;繼承nn.Module基類構建自定義模型。 2&#xff0c;使用nn.Sequential按層順序構建模…

vue取數據第一個數據_我作為數據科學家的第一個月

vue取數據第一個數據A lot.很多。 I landed my first job as a Data Scientist at the beginning of August, and like any new job, there’s a lot of information to take in at once.我于8月初找到了數據科學家的第一份工作&#xff0c;并且像任何新工作一樣&#xff0c;一…

Flask-SocketIO 簡單使用指南

Flask-SocketIO 使 Flask 應用程序能夠訪問客戶端和服務器之間的低延遲雙向通信。客戶端應用程序可以使用 Javascript&#xff0c;C &#xff0c;Java 和 Swift 中的任何 SocketIO 官方客戶端庫或任何兼容的客戶端來建立與服務器的永久連接。 安裝 直接使用 pip 來安裝&#xf…

STL-開篇

基本概念 STL&#xff1a; Standard Template Library&#xff0c;標準模板庫 定義&#xff1a; c引入的一個標準類庫 特點&#xff1a;1&#xff09;數據結構和算法的 c實現&#xff08; 采用模板類和模板函數&#xff09;2&#xff09;數據的存儲和算法的分離3&#xff09;高…

Symbol Mc1000 聲音的設置以及播放

首先引用Symbol.Audio 加一命名空間using Symbol.Audio; /聲音設備的設置 //Select Device from device list Symbol.Audio.Device MyDevice (Symbol.Audio.Device)Symbol.StandardForms.SelectDevice.Select( Symbol.Audio.Controller.Title, Symbol.Audio.Devic…

/bin/bash^M: 壞的解釋器: 沒有那個文件或目錄

在win下編輯的時候&#xff0c;換行結尾是\n\r &#xff0c; 而在linux下 是\n&#xff0c;所以會多出來一個\r&#xff0c;這樣會出現錯誤 此時執行 sed -i s/\r$// file.sh 將file.sh中的\r都替換為空白&#xff0c;問題解決轉載于:https://www.cnblogs.com/zzdbullet/p/9890…

rcp rapido_為什么氣流非常適合Rapido

rcp rapidoBack in 2019, when we were building our data platform, we started building the data platform with Hadoop 2.8 and Apache Hive, managing our own HDFS. The need for managing workflows whether it’s data pipelines, i.e. ETL’s, machine learning predi…

pandas處理丟失數據與數據導入導出

3.4pandas處理丟失數據 頭文件&#xff1a; import numpy as np import pandas as pd丟棄數據部分&#xff1a; dates pd.date_range(20130101,periods6) df pd.DataFrame(np.random.randn(6,4),indexdates,columns[A,B,C,D]) df.iloc[0,1] np.nan df.iloc[1,2] np.nanp…

Mysql5.7開啟遠程

2019獨角獸企業重金招聘Python工程師標準>>> 1.注掉bind-address #bind-address 127.0.0.1 2.開啟遠程訪問權限 grant all privileges on *.* to root"xxx.xxx.xxx.xxx" identified by "密碼"; 或 grant all privileges on *.* to root"%…

分類結果可視化python_可視化分類結果的另一種方法

分類結果可視化pythonI love good data visualizations. Back in the days when I did my PhD in particle physics, I was stunned by the histograms my colleagues built and how much information was accumulated in one single plot.我喜歡出色的數據可視化。 早在我獲得…

算法組合 優化算法_算法交易簡化了風險價值和投資組合優化

算法組合 優化算法Photo by Markus Spiske (left) and Jamie Street (right) on UnsplashMarkus Spiske (左)和Jamie Street(右)在Unsplash上的照片 In the last post, we saw how actual algorithms are developed and tested. In this post, we will figure out the level of…

Symbol Mc1000 快捷鍵 的 設置 事件 開發

switch (e.KeyCode) { ///數據 case Keys.F1://清除數據 if(File.Exists("Storage Card/CG.sdf")) { Mc.gConn.Close(); Mc.gConn.Dispose(); File.Delete("Storage Card/CG.sdf"); } MessageBox.S…

pandas合并concatmerge和plot畫圖

3.6&#xff0c;3.7pandas合并concat&merge 頭文件&#xff1a; import pandas as pd import numpy as npconcat基礎合并用法 df1 pd.DataFrame(np.ones((3,4))*0,columns [a,b,c,d]) df2 pd.DataFrame(np.ones((3,4))*1,columns [a,b,c,d]) df3 pd.DataFrame(np.ones…

Android跳轉WIFI界面的四種方式

第一種 Intent intent new Intent(); intent.setAction("android.net.wifi.PICK_WIFI_NETWORK"); startActivity(intent); 第二種 startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS)); 第三種 Intent i new Intent(); if(android.os.Buil…

PS摳發絲技巧 「選擇并遮住…」

PS摳發絲技巧 「選擇并遮住…」 現在的海報設計&#xff0c;大多數都有模特MM&#xff0c;然而MM的頭發實用太多了&#xff0c;有的還飄起來…… 對于設計師(特別是淘寶美工)沒有一個強大、快速、實用的摳發絲技巧真的混不去哦。而PS CC 2017版本開始&#xff0c;就有了一個強大…

covid 19如何重塑美國科技公司的工作文化

未來 &#xff0c; 技術 &#xff0c; 觀點 (Future, Technology, Opinion) Who would have thought that a single virus would take down the whole world and make us stay inside our homes? A pandemic wave that has altered our lives in such a way that no human (bi…

Symbol Mc1000 Text文本閱讀器整體代碼

using System; using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Collections;using System.IO;namespace text{ /// <summary> /// Form1 的摘要說明。 /// </summary> public c…

python生日悖論分析_生日悖論

python生日悖論分析If you have a group of people in a room, how many do you need to for it to be more likely than not, that two or more will have the same birthday?如果您在一個房間里有一群人&#xff0c;那么您需要多少個才能使兩個或兩個以上的人有相同的生日&a…