架構測試&效能測試
架構測試
Hadoop處理資料量非常大且資源密集的資料。因此,架構測試對於確保大資料專案的成功至關重要。不好活不當的系統設計可能導致效能下降,而且系統還可能無法滿足要求。至少,效能和故障轉移測試服務應在Hadoop環境中完成。
效能測試包括測試作業完成時間、記憶體利用率、資料吞吐量和類似的系統指標。雖然故障轉移測試服務的動機是驗證資料的無縫銜接,以防資料節點出現故障時,確保資料能正常處理。
效能測試
大資料的效能測試包括兩個主要的操作:
Ø 資料攝取和吞吐量:在這個階段,測試人員驗證系統使用來自各種資料來源的資料有多快?測試涉及佇列在給定時間內處理不同標識的訊息。它還包括如何快速地將資料插入到底層資料儲存中,例如插入到Mongo和Cassandra資料庫中的速率。
Ø 資料處理: 它涉及驗證執行查詢或Map Reduce作業的速度。它還包括當底層資料儲存填充在資料集中時,測試使用隔離規則方式處理資料。例如,在底層HDFS上執行Map Reduce作業。
Ø 子元件效能:這些系統由多個元件組成,必須單獨測試這些元件。例如,訊息被索引和使用的速度、mapreduce作業、執行查詢、搜尋等。
效能測試方法
大資料應用效能測試涉及大容量結構化資料測試和大容量非結構化資料測試,這些測試需要特定的測試方法來測試如此大的資料量。效能測試方法執行流程如下:
效能測試執行步驟:
(1) 對效能測試的大資料叢集進行設定
(2) 標識和設計相關的工作量
(3) 準備單個客服端(建立使用者指令碼)
(4) 執行測試並分析結果(如果目的沒有達到,這是需要調整元件重新執行)
(5) 優化配置
效能測試引數化
要驗證效能測試的各種引數:
資料儲存(DataStorage):資料如何儲存在不同的節點中
提交日誌(Commitlog):允許提交日誌增長的大小
併發性(Concurrency):有多少執行緒可以執行寫和讀操作
快取(Caching):調整快取設定"rowcache"和"key cache"。
超時(Timeouts):連線超時,查詢超時等的值。
JVM引數(JVM Parameters):
Map Reduce效能:排序(sort),合併(merage)等
訊息佇列(Messagequeue):訊息速率(Message rate),大小等