導讀:
iometer 作為很多任務程師效能測試的工具,可以模擬不同型別的io(連續、隨機或者混合)、不同的io size、不同的佇列長度。筆者希望以一次iometer的測試經歷,幫助讀者了解如何通過效能測試來體現儲存裝置的特性。筆者認為,再好的效能報告,如果與真實環境資料相差太大,都沒有意義。那些動輒十幾w的iops究竟是怎麼來的呢?
正文:相信大家對儲存廠商公布的效能資料都不陌生,筆者的很多客戶都在感嘆一邊是「理想很美好」的測試報告,另一邊卻是系統上線後「現實很骨感」的糟糕效能。事實上,我們的it運維人員天天面對著海量的裝置和業務部門各種各樣的要求,很難像原廠商的工程師一樣,對某一款儲存裝置精通。很多人平時可能只會參與到專案的前期規劃和系統設計階段,沒有動手的機會,也很難對儲存的效能有乙個理性認識。這樣就會有乙個令人啼笑皆非的結果,很多客戶在選擇儲存裝置的時候,總會問「你的iops最大能到多少?」
到底iops越大就越好麼?筆者認為,再好的效能報告,如果與真實環境資料相差太大,都沒有意義。那些動輒十幾w的iops究竟是怎麼來的呢?
首先要考慮的是測試環境,要盡可能接近客戶的真實情況,這可能包括硬體裝置、網路環境、邏輯配置等。10塊盤和40塊盤,提供相同的容量,測出來的效能肯定是不同的,也就是常說的overprovision。
其次要考慮的是測試方法,相對靠譜的是就用客戶的真實資料和應用來測,這個方式的最大缺點在於需要相對充足的時間和資源來搭建環境。參與測試的客戶往往並不是應用專家,資源的協調和測試過程中遇到的問題,如果沒有辦法及時解決,那測試的價值就會大打折扣。廠商的選擇往往是那些效能測試工具,比如iometer、fio或orion 。這種想法也沒有問題,畢竟作為廠商需要展示的是儲存的io效能,而客戶應用如果不夠合理,測試結果要麼就是儲存的使用效率很低,應用成為瓶頸;要麼就是過分依賴儲存,什麼都往裡面寫,造成儲存忙得要死,而應用還是慢。這些問題不是一時半會能夠解決的,再加上各種其他因素,比如商務、客戶實際情況,有可能很好的產品就因為糟糕的測試結果而落選了。乙個優秀工程師的作用就是在現有條件下,可以將結果最大化,努力實現客戶的真實測試需求。
以iometer為例,在沒有人為修改程式的前提下,我認為其結果還是比較真實的。有兩點需要說明,乙個是iometer的寫是同步寫,而很多儲存裝置可以修改其寫入模式為同步還是非同步寫入的。最簡單的解釋就是同步寫時,資料必須有效寫入到後端磁碟中;而非同步寫時,資料寫入dram中就可以了。非同步寫的效能顯然會優於同步寫,這點往往會被人忽略。另一點就是讀取效能測試,很多時候廠商會故意不寫入資料測試,這時候的測試資料會非常「理想」。比較合理的方式是,先連續寫入幾遍資料,然後重啟客戶端和儲存控制器來清除記憶體,我更相信這時候的讀取結果。
下圖為筆者在一次測試中的iometer測試結果,由於使用了ssd作為裝置的讀寫加速裝置,整體效能都有了非常明顯的提高。
還有乙個很重要的方面是,如何來解讀測試資料。我們希望展示給客戶的是儲存裝置在高併發下,延時與iops的關係,在iometer中,可以通過增加manager,worker的數量,以及增加outstanding io來模擬多台伺服器同時訪問儲存裝置時的表現。當然,各種讀寫比例的iops壓力測試也可以很好的幫助客戶了解裝置的整體效能。
如果可以很好地了解儲存裝置的設計原理,這些測試可能都並不需要。但是在現實的情況下,大部分的客戶工程師並不具備這些能力。客戶在現有的條件下,如果可以最大程度了解產品的真實性能,並結合實際情況,最大程度地使用好儲存產品,這才是測試的意義吧。
人生這樣才精彩
人生這樣才精彩 收藏 1.至少挑戰一次自己的極限,並且堅持到成功。不管是考試得第一名,或者游泳游過不曾穿越的河流,或者在講台上當眾演講,你至少要成為一次主角,至少要讓成功證明你一次,這樣,在漫長而平淡的一生之中,你都始終相信自己是最棒的,自己有權在這個世界好好生活。阿甘正傳 裡只知道往前跑的阿甘和 ...
精彩才剛剛開始
明明那一天 離得好遠 回頭卻能看見 說好的 大寫的 渴望的明天 要贏過 全世界 不過一眨眼 還沒發現 青春早已蛻變 說過的 改寫的 相遇的今天 歲月裝扮的臉 改變 匆匆 忙忙 認認 真真 的十年 聽聽聽我說 心裡有話 慢慢慢長大 無奈變瀟灑 嘴上 臉上 笑容高掛 汗水 淚水 攤在太陽下 聽聽聽我說 ...
如何翻譯「大吵大鬧」才算精彩
很多人都用shout一詞來表示漢語中 大吵大鬧 但只是在動作上表達了這個詞,卻不能準確表達出 鬧 的成分和 吵 的語氣,而且嚴格來說,這種表達法也是不正確的。對口語比較熟悉的朋友可能會知道這個用法 yell bloody murder。這個用法通是比較準確的,既包含了 吵 的架勢,也包含了 鬧 的色...