国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Cosbench基于對象存儲性能負載

IT那活兒 / 1717人閱讀
Cosbench基于對象存儲性能負載

點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了?。。?/strong>




對象存儲介紹


 

1. 對象存儲定義
對象存儲是基于對象的存儲是解決和處理離散單元的方法的通用術語。對象中包含數據,但對象在一個層結構中不會再有層級結構,每個對象都在存儲池的扁平地址空間的同一級別里,一個對象不會屬于另一對象。
每個對象都被分配一個唯一的標識符,允許一個服務器或者最終用戶來檢索對象,而不必知道數據的物理地址。這種方法對于在云計算環境中自動化和簡化數據存儲很有幫助。
對象存儲核心是將數據讀寫和控制通元數據分離,并且基于對象存儲設備(OSD)構建存儲系統,每個對象存儲設備能夠自動管理其上的數據分布。
2. 文件存儲、塊存儲、對象存儲的區別
  • 文件存儲

    文件存儲的用戶是自然人。計算機中所有的數據都是0和1,我們無法分辨和管理一連串的01組合,因此用“文件”概念對這些數據進行組織,所有用途相同的數據按照不同應用程序要求的結構方式組成不同的文件,通常用不同的文件后綴來指代不同的類型,再給文件命名方便理解記憶的名字。

    當文件很多的時候,按照某種劃分方式給這些文件分組,每一組文件放在同一個目錄里面,同樣也需要給目錄命名容易理解和記憶的名字。而且目錄下面除了文件還可以包含下一級目錄,即子目錄,所有的文件、目錄形成一個樹狀結構。


  • 塊存儲

    文件系統是直接訪問存儲數據的硬件介質的,硬件介質不關心數據的組織方式和結構。

    塊存儲是將數據按固定大小分塊,每一塊賦予一個用于尋址的編號。以機械硬盤為例,一塊就是一個扇區,老式硬盤是512字節大小,新硬盤是4K字節大小。老式硬盤用柱面-磁頭-扇區號組成的編號進行尋址,現代硬盤用一個邏輯塊編號尋址,所以,硬盤也叫塊設備至于哪些塊組成一個文件,哪些塊記錄的是目錄/子目錄信息,這就是文件系統的事情了。


  • 對象存儲

    對象存儲其實介于塊存儲和文件存儲之間。

    文件存儲的樹狀結構以及路徑訪問方式雖然方便理解、記憶和訪問,但計算機需要把路徑進行分解,然后逐級向下查找,最后才能查找到需要的文件,對于應用程序來說既沒必要,也很浪費性能。而塊存儲是排它的,服務器上的某個邏輯塊被一臺客戶端掛載后,其它客戶端就無法訪問上面的數據了。

    為了解決文件存儲和塊存儲中的麻煩,使用一個統一的底層存儲系統來管理這些文件和底層介質的組織結構,然后給每個文件一個唯一標識,其它系統需要訪問某個文件,直接提供文件的標識就可以了。

    存儲系統可以用更高效的數據組織方式來管理這些標識以及其對應的存儲介質上的塊。當然,對于不同的軟件系統來說,一次訪問需要獲取的不一定是單個傳統意義上的文件,根據不同的需要可能是某個文件的一部分,也可能是多個文件的組合,甚至是某個塊設備,統稱為對象,即為對象存儲。

3. 華為對象存儲
華為FusionStorage是一款可大規模橫向擴展的智能分布式存儲產品,是既具備云基礎架構的彈性按需服務能力,又滿足企業關鍵業務需求的全自研存儲系統。
向上層應用提供塊存儲、對象存儲、大數據存儲或文件存儲資源,且提供極致的性能和豐富的企業級特性;基于華為FusionStorage存儲系統,構建高效、可靠和智能的新型存儲服務平臺,輕松應對智能時代大規模數據敏捷存取需求。




CosBench介紹及部署



COSBench是Intel基于java開發的,用于對象存儲的性能測試,全稱是Cloud object Storage Bench。
COSBench包括控制臺controller和發起請求的driver,driver可以分布式部署,可以支持swift、s3、Openstack等接口。
下載地址:https://github.com/intel-cloud/cosbench/releases/tag/v0.4.2.c4
1. Linux環境部署CosBench
1)安裝Java
解壓Java JDK,在/etc/profile文件末尾追加如下內容:
export JAVA_HOME=/home/cosbench/jdk1.8.0_102
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPAT
H
執行source/etc/profile命令使修改生效運行java –version查看java版本信息。
2)部署CosBench
上傳CosBench壓縮包并解壓,直接在當前節點啟動CosBench controller和driver,默認driver監聽端口18088,controller監聽端口19088,執行以下命令啟動cosbench。
2. Windows環境部署CosBench
1)安裝Java
2)部署CosBench
上傳CosBench壓縮包并解壓,直接在當前節點啟動CosBench controller和driver,默認driver監聽端口18088,controller監聽端口19088,直接執行start-all.bat啟動cosbench。
3. CosBench頁面驗證
瀏覽器地址欄輸入http://ip:19088/controller,頁面訪問正常,且driver狀態為綠色,則表示cosbench工具運行成功。

4. Controller和Driver配置
controller和driver依賴不同的配置文件來啟動,這些配置文件只是COSBench的配置,并不是workload配置,對象存儲的性能測試需要配置workload。

controller和driver配置文件的格式和內容如下:
[controller]
drivers = 1
concurrency=1
log_level = INFO
log_file = log/system.log
archive_dir = archive
[driver1]
name = driver1
url = http://XXX.0.0.1:18088/driver





Workload運行及配置


 

1. 運行workload
CosBench提供了workload模板進行參考:
  • S3-config-sample.xml是Amazon S3兼容存儲系統模板。

  • workload-config.xml提供了不同存儲類型的配置模板,并添加了注釋說明。

  • swift-config-sample.xml支持OpenStack Swift存儲系統。

在CosBench的controller主頁面點擊[submit new workloads]跳轉到Workload Submission頁面,點擊[選擇文件]選擇需要提交的workload文件’write_read1.xml’,點擊[submit]提交文件,提示’Success:your workload has been accepted!’即為提交成功。
Workload文件提交成功后會自動運行,點擊[view details]查看workload的運行情況,該頁面顯示運行時的性能數據。
2. 配置workload
Workload配置文件實際是XML文件:
  • Workload ——> workstage ——> work ——> operation。

  • workload可以定義一個或多個workstage。

  • 多個workstage按順序執行,同一個workstage中的work是并發執行的,每個work中的workers屬性即為負載并發數。

  • 認證定義(auth)和存儲定義(storage)可以在多個級別定義,而較低級別的定義會覆蓋較高級別的定義。例如,operation用work中的auth和storage的定義,而不是workload級別的定義。

2.1 workload選擇表達式
Workload配置中,auth、storage、work、operation元素支持config屬性,config屬性包含可選參數列表,參數列表使用鍵值對格式,如下圖work、operation屬性所示。
Config參數列表中常用的鍵值對包括containers、objects、sizes,分別用于指定選擇的桶、對象、對象大小,containers指定的數字表示桶的編號(桶是存儲對象的容器),objects指定的數字表示對象的編號,size指定的數字表示對象大小。
2.2 workload中的元素格式和屬性
1)workload格式及屬性:
<workload name="obs-sample" description="10-100-64kb-test">


2)Storage格式及屬性:
type="none|mock|swift|ampli|s3|obs|…" config="=;="/>


3)S3(Amazon S3)類型說明:
type="s3" config="accesskey=;secretkey=;
endpoint=;proxyhost=;proxyport="/>


4)obs類型說明:
<storage type="obs" config="accesskey=C1820CD98DB79C95E979;secretkey=KI0pKjBYN1d
mWdeV11Y6ctb9sc0AAAF9jbecldNO;endpoint=http://obs.telecomhb.com"
 />


5)workflow格式及屬性:
此步驟可在config中添加循環配置,參數說明如下:

如下示例表示循環workflow內第3個到第5個workstage,循環3次。
2.3 Work格式及屬性
有五種不同類型的work(init、prepare、normal、cleanup、dispose),不同類型的work有不同的應用方式。
規則如下:
  • Worker:關鍵屬性,控制負載。

  • Runtime:控制work的運行時長,work中只能設置一個。

  • normal work的參數說明:

  • init work參數說明:

  • prepare work參數說明:

  • cleanup work參數說明:


  • dispose work參數說明:

  • operation格式及屬性:

操作類型示例說明:
  • Read操作 -- 100%讀,10workers,60秒。

"100r10c60s" workers="10" runtime="60">
type="read" ratio="100" config="..."/>

  • Write操作 -- 100%寫,10workers,60秒。

"100w10c60s" workers="10" runtime="60">
type="write" ratio="100" config="..."/>

  • Read/write混合操作 -- 80%讀,20%寫,100workers,300秒。

<work name="80r20w100c300s" workers="100" runtime="300">
<operation type="read" ratio="80" config="..."/>
<operation type="write" ratio="20" config="..."/>
work>





CosBench性能數據及使用技巧


 

1. 目錄結構
  • .meta -- 初始運行id;

  • run-history -- workload運行情況,包括時間和主要階段;

  • workload -- 歷史workload運行的總體性能數據;

  • Sub-directories -- 以w -為前綴,存儲每個workload的運行數據。

2. 性能數據
性能結果數據存放在archive目錄,在archive中根據workload名稱進行查找,保存有各執行階段的性能數據。
Write操作結果數據:
Write時間段結果數據:
Write并發線程結果數據:
3. 使用技巧
3.1 Dispose階段失敗
原因:dispose階段主要是做刪桶操作,dispose階段失敗一般是cleanup階段清理對象不徹底導致的,因為桶中有對象時,刪桶會失敗。
解決:檢查配置文件的cleanup階段是否清理了前面所有階段創建的對象,或者查看桶內原來是否存在對象。如在prepare階段創建了部分對象,在main階段中配置了read、write兩種操作,read操作讀取prepare階段創建的對象,write操作又新創建了部分對象,那么在cleanup階段需要清理的對象就要包括prepare階段創建的對象和main階段創建的對象,這樣dispose階段才不會報錯。另一種情況,cleanup階段清理了前面階段創建的所有對象,dispose還是失敗,可能是桶中初始就有部分對象存在,這部分對象在cleanup階段并沒有清理,桶內仍然存在對象,導致刪桶失敗。
3.2 CosBench端口可配置
Cosbench的默認監聽端口是19088/18088,conf/controller-tomcat-server.xml中可以指定controller的端口,driver-tomcat-server.xml中可以指定driver的端口。
3.3 報錯排查
workload.log(archive//workload.log),可以查看相關運行細心和報錯信息。
3.4 防止內存溢出
cosbench-start腳本中指定Java進程的最大堆大小,防止內存溢出,如參數“-Xmx2g”表示將最大堆大小限制為2GB。
3.5 讀寫分布在不同的桶
可以在operation中分配要訪問的桶,以分割對不同桶的讀或寫;可以使用“config”中的“containers”參數設置不同的桶范圍,如下,read在標號為1、2的桶,write在標號為3、4的桶。
<operation type=”read” ratio=”80” config=”containers=u(1,2);objects=u(1,50)”/>
<operation type=”write” ratio=”20” config=”containers=u(3,4);objects=u(51,100);sizes=c(64)KB”/>



END



本文作者:方 威

本文來源:IT那活兒(上海新炬王翦團隊)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129477.html

相關文章

  • 騰訊云和阿里云對比哪個好?云計算優勢測評

    摘要:騰訊云和阿里云針對按量計費的云服務器,均要求賬戶內有一定的余額騰訊云好像沒有最低充值要求,充值元即可阿里云要求賬戶內至少有元余額。基于上述原因,我們分別在騰訊云和阿里云創建最低配版的云數據庫和。 云計算市場爭奪阿里云作為名副其實的國內業界第一,名聲非常大,不過最近 IT 之家的事鬧出來之后,我有點慶幸最終沒有選擇它。騰訊云算是業界老二,而且有著騰訊這個強大的靠山,云服務產品的種類和質量...

    zengdongbao 評論0 收藏0
  • 國內公有云大幅降價后,首份一手云計算產品評測報告

    摘要:最近國內公有云服務商掀起了一輪降價浪潮,繼阿里云上月宣布降價之后,騰訊云也在本月初推出全線降價優惠。上個月阿里云在云棲大會上宣布降價,昨天騰訊云方面也推出了全線降價活動,對包年包月產品均提供了大幅度的降價優惠。 最近國內公有云服務商掀起了一輪降價浪潮,繼阿里云上月宣布降價之后,騰訊云也在本月初推出全線降價優惠。本文希望從云計算用戶的角度,通過真實的產品使用、評測,對降價后各家的產品性價...

    3fuyu 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<