1. 程式人生 > >白話分散式儲存測試(一)明確測試目標

白話分散式儲存測試(一)明確測試目標

之前工作中做了很多儲存測試相關的事情,對儲存測試有一些想法,最近想用幾篇文章來介紹下分散式儲存測試相關的一些內容,這部分內容對學習儲存有很好的促進作用,歡迎大家關注~

  • 白話分散式儲存測試(一)明確測試目標
  • 白話分散式儲存測試(二)熟悉測試工具 【將釋出在微信公眾號】
  • 白話分散式儲存測試(三)測試方法論 【將釋出在微信公眾號】
  • 白話分散式儲存測試(四)測試結果分析 【將釋出在微信公眾號】
   

首先,我們需要明確我們為什麼要做測試,或者說明確我們做測試的目標是什麼?

從巨集觀上看,儲存測試要考慮三個維度:

 

 

分別從這三個維度展開一下

一、測試工具

測試工具可以做什麼?

測試工具提供了諸多引數選項,可以儘可能逼真地模仿使用者程式的IO模式。比如有使用者告訴你他的程式會多執行緒隨機寫4K大小的資料塊,他想知道他的程式跑在我們的分散式儲存上效能如何? 這時你可以拿使用者程式去直接跑一下,或者你也可以用測試工具模擬下使用者程式來預估效能,但是如果使用者很多呢,如果使用者程式沒有那麼易上手呢?勢必費時費力。 所以,測試工具幫我們應對了這個問題,我們可以提前用測試工具跑出一些常見IO模式的儲存效能報告,這樣當用戶諮詢的時候,我直接根據效能報告來匹配使用者程式的IO模式來進行預估。

通常,我們做儲存測試就是為了獲得特定IO模式或者常見IO模式的效能資料。

儲存測試時的IO模式一般要涵蓋以下三個關注點:

關注點解釋
關注IO延時 不關心每秒可以完成多少次IO,而是關心單次IO從提到到返回結果最快能多快
關注IO吞吐 在可以接受的IO延時範圍內,每秒最多能完成多少次IO
關注IO頻寬 不關心每秒完成多少次IO,而是關心每秒可以讀寫多少MB的資料

測試工具調節IO模式的一些常見引數(以fio為例)有:
blocksize、numjobs、size、rw_pattern、ioengine、direct ...
通過調節這些引數,我們就可以測試出不同關注點的效能資料。

後面的文章將會介紹怎麼通過調節這些引數來對不同的關注點進行測試

二、叢集客戶端

視線擡高,我們的關注點不再是某個使用者的應用程式,而是很多使用者的應用程式。這時,我們需要關注的是,一個叢集客戶端的效能瓶頸在哪。實際使用中,一個叢集客戶端可以承載多少使用者應用程式的IO需求。未雨綢繆,提前規劃好使用者程式及叢集客戶端數。

三、儲存叢集

視線再擡高,關注點脫離單個叢集客戶端,這時,我們需要關注的是,多少個客戶端滿負荷工作能打滿儲存叢集,也就是需要測試出整個儲存叢集的IO能力。

對於機械磁碟,叢集的IO能力通常是可以通過底層磁碟的IO能力來進行估算的,這是因為機械磁碟效能低下,儲存叢集程式IO棧及網路延時的影響有限,叢集IO能力變化不大。

對於非機械磁碟,其效能越好,儲存叢集程式IO棧及網路延時的影響會體現地越發明顯,這時測試儲存叢集IO能力也就更加有意義。

同樣,未雨綢繆,有了儲存叢集IO能力的參考值,我們可以提前規劃叢集客戶端及使用者應用程式。

四、後續

本文簡單介紹了儲存測試的幾個常見目標,後續文章會詳細介紹常用測試工具(fio、dd)的使用方式、儲存測試方法論、測試結果分析等內容,歡迎關注 : )

專注筆者公眾號,閱讀更多幹貨文章:)

 

相關推薦

白話分散式儲存測試明確測試目標

之前工作中做了很多儲存測試相關的事情,對儲存測試有一些想法,最近想用幾篇文章來介紹下分散式儲存測試相關的一些內容,這部分內容對學習儲存有很好的促進作用,歡迎大家關注~ 白話分散式儲存測試(一)明確測試目標 白話分散式儲存測試(二)熟悉測試工具 【將釋出在微信公眾號】 白話分散式儲存測試(三

分散式儲存系統

分散式儲存系統是大量普通PC伺服器通過Internet互聯,對外作為一個整體提供儲存服務。 最近在研讀《大規模分散式儲存系統》一書,順便摘錄整理,深入瞭解原理和架構,方便學習,歡迎交流。 一、概念 分散式儲存系統具備如下幾個特性: 1、可擴充套件 分散式系統可以

專項測試相容測試1-app相容性測試

        這個主要是android系統的碎片化引起的問題。不同的android手機廠商都對android系統進行了或深或淺的定製。實際上我們也確定曾遇到一些不同廠家ROM導致的問題,比如呼叫相機和一些底層服務出現的不相容。現實中我們會採購一些主流廠家的手機型號,並在上面驗證功能。

大資料儲存分散式檔案系統

1.Google檔案系統(GFS) 使用一堆廉價的商用計算機支撐大規模資料處理。 GFSClient: 應用程式的訪問介面 Master(主控伺服器):管理節點,在邏輯上只有一個(還有一臺“影子伺服器“,在主控伺服器失效時提供元資料,但並不是完整的熱備伺服器),儲

Python 接口測試

blog 系統環境變量 resp 環境變量 nbsp 們的 www nload uic 1. 概念: 接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的

python結合excel數據輕松實現接口自動化測試

判斷 原因 一個 軟件測試 測試 相等 fin 完成 想去 在剛剛進入測試行業的時候,最開始也是做功能測試,我想很多夥伴和我一樣,覺得自動化測試都很高端,很神秘。迫不及待的想去學習作自動化測試。 以前比較常用數據庫+python做自動化,後面發現excel個人覺得更加適合,

vue2.0單元測試

.com str images alt 需求 org 封裝 min 測試 1.在vue init webpack XXX創建項目的時候 最後2步選擇YES就啟動了vue單元測試開始了 2.測試是使用karma+mocha框架來實現的方法,安裝虛擬瀏覽器模塊Phanto

selenium+python自動化測試環境

get gre gpo exe ren 瀏覽器版本 art lap close python裝的是3.5,chrome瀏覽器版本是17年初的 1.chromedriver 在http://chromedriver.storage.googleapis.com/index.h

Appium移動自動化測試--Mac安裝Appium

set appstore 軟件 www. http version master question 配置 一、Appium安裝 1. 直接安裝:Appium官網下載:https://bitbucket.org/appium/appium.app/downloads/  這

創建撲克牌測試

Java List 1.Mainpublic class Main { /** * 1.面向對象思維(一張撲克) * 抽取共性屬性 * 花色 int * 牌值 int * 花色符號 String * 牌值符號 String * 抽取共性方法 *

移動端自動化測試appium環境搭建

mouseover 小試牛刀 ble web自動化 過程 bucket 搭建 node 服務 自動化測試有主要有兩個分類,接口自動化和ui自動化,ui自動化呢又分移動端的和web端的,當然還有c/s架構的,這種桌面程序應用的自動化,使用QTP,只不過現在沒人做了。 we

ORB_SLAM2編譯與測試

git 一段 分享 CI 圖像 它的 第三方 學習 clas ORB_SLAM2編譯與測試 學習視覺slam,經典的slam開源框架的學習,是不可避免的。記錄一下ORB_SLAM2的編譯與測試,此次配置的是無ROS版本。跑的數據集TUM Dataset 系統版本:ubun

網路相關基礎知識總結吞吐量測試&吞吐量與頻寬區別

一.概念 網路中的資料是由一個個資料包組成,防火牆對每個資料包的處理要耗費資源。吞吐量是指在沒有幀丟失的情況下,裝置能夠接受的最大速率。 1.作用地位 網路吞吐量測試是網路維護和故障查詢中最重要的手段之一,尤其是在分析與網路效能相關的問題時吞吐量的測試是必備的測試手段。 作為驗證和測試網

【完全分散式Hadoop】從虛擬機器Centos6.5的安裝開始

一、虛擬機器安裝 不做過多介紹,自行去某度搜索 二、Centos6.5配置 1. 關閉防火牆 service iptables stop 關閉防火牆開機啟動 chkconfig iptables off 2. windows中檢視VM8的IPv4 ipconfig -

微服務分散式事務實戰 專案需求描述和實現步驟

本文通過一個具體例項如何實施springCloud 分散式事務,不對分散式事務理論做探索。由於內容較多,分多個小節來說明 案例需求: 建立2個基於springCloud的微服務,分別訪問不同的資料庫;然後建立一個整合服務,呼叫微服務實現資料的儲存到2個不同的資料庫,要求採用分散式事務,要麼都

效能測試基本知識

一、如何辨別效能出現問題? 1、響應時間長 2、卡頓、掉幀,如擼啊擼遊戲,關閉特效會速度快 3、無響應 4、有響應,但無法服務,如12306刷不出車票 5、長時間loading 二、效能為什麼會出現問題? 1、硬體處理能力不足 對於單機應用來講,卡頓可能是本機處理能力不足 對於網路或手遊,卡

分散式理論系列從 ACID 到 CAP 到 BASE

分散式理論系列(一)從 ACID 到 CAP 到 BASE 一、ACID 1.1 事務的四個特徵: (1) Atomic(原子性) 事務必須是一個原子的操作序列單元,事務中包含的各項操作在一次執行過程中,要麼全部執行成功,要麼全部不執行,任何一項失敗,整個事務回滾,只有全部都執行成功,整個事務才算成功

大型網站架構系列:分散式訊息佇列

以下是訊息佇列以下的大綱,本文主要介紹訊息佇列概述,訊息佇列應用場景和訊息中介軟體示例(電商,日誌系統)。 本次分享大綱 訊息佇列概述 訊息佇列應用場景 訊息中介軟體示例 JMS訊息服務(見第二篇:大型網站架構系列:分散式訊息佇列(二)) 常用訊息佇列(見第二篇:大型網站架構系列:分

python用selenium做自動化測試

python 用selenium做自動化測試: 在w3school裡搜尋css python3 test_w3school_search.py XPath路徑表示式: http://www.ruanyifeng.com/blog/2009/07/xpath_pa

異數OS TCP協議棧測試--資料傳輸篇

異數OS TCP協議棧測試(一)--資料傳輸篇 本文來自異數OS社群   github:  https://github.com/yds086/HereticOS 異數OS社群QQ群:  652455784  異數OS-織夢師(訊息中介軟體)群: 4