引用現在稍微具有一定規模的涉及到大資料儲存的公司,或多或少都會使用到hdfs作為其資料的儲存系統。在不同的公司企業內,不同的應用需求對應會構建出不同級別規模的集群,小則幾十台,大則成千上萬個節點。當然很多時候,我們的集群規模一般不是一蹴而就就達到乙個相當大的規模,在前期的時候往往都是由小集群開始的。隨後,再不斷不斷地進行擴容,擴張。隨著集群規模的擴充套件,運維人員會碰到各種針對那時規模的各種問題(可能需要引數調整等等類似這種)。其實這個時候,我們自然會想到是否我們會有乙個效能測試工具來測試擴充套件好的集群效能呢,以此幫助我們在真正實施集群規模擴充套件時發現這類的隱蔽問題。本文筆者來闡述linkedin目前開源的乙個hdfs效能擴充套件測試工具:dynamometer.。它旨在以最小的硬體資源來模擬真實的集群效果,以此做相應的效能測試。
看到這裡,可能有些人會有疑問了,我在測試集群搭上乙個小集群來模擬測試效果,不也是一樣的嗎,為什麼要完全模擬生產集群的效果呢?
其實小規模環境往往只能驗證出功能測試效果,而對於潛在的performance的測試往往是不夠的,所以我們著重想要模擬出盡可能模擬真實的測試效果。接近真實的測試環境至少能夠幫助我們在以下幾種情境下模擬出效果:
以上四類測試場景將會是十分適用於我們的模擬測試場景的。
下面我們來正式切入開始今天的內容。因為今天的測試工具主要是針對hdfs的,所以我們先來簡單了解hdfs集群的處理流程。
在hdfs中,我們說集群的效能好壞大部分情況指的是其中心節點nn的效能清況,而這個nn則會有來自於多方面的處理壓力,主要包含以下3塊:
以上所有的操作都會涉及到nn的互動,如下圖所示:
因此如果說我們想模擬出最真實的workload,可以從這3方面逐一進行:
第一點,模擬足夠多的dn。
第二點,模擬出足夠多的客戶端request。
第三點,在nn中造成足夠多的元資料,但是這些元資料對應的實際物理資料我們並不需要儲存在dn內。
鑑於dynamometer有很好的測試使用場景,目前社群也有在把這個工具合入hadoop tools的計畫,相關jira::hdfs-12345:scale testing hdfs namenode with real metadata and workloads (dynamometer)
[1].
Mysql效能測試工具
一 mysqlslap測試 mysqlslap是mysql自帶的乙個測試工具。具體的用法可以通過man獲得。比較常用的options解釋如下 concurrency 代表併發數量,多個可以用逗號隔開,當然你也可以用自己的分隔符隔開,這個時候要用到 delimiter開關。engines 代表要測試的...
效能測試工具原理
廣義的講,可以把效能測試過程中使用到的所有工具都稱為效能測試工具,效能測試工具分為兩大類,服務端效能測試工具和前端效能測試工具 服務端效能測試工具需要支援產生壓力和負載,錄製和生成測試指令碼,設定和部署場景,產生併發使用者和向系統施加持續的壓力 而前端效能測試工具則不需要關係系統的壓力和負載,只需要...
mysqlslap 效能測試工具
mysqlslap 效能測試工具 常用引數 concurrency 代表併發數量,多個可以用逗號隔開。例如 concurrency 50,200,500 engines 代表要測試的引擎,可以有多個,用分隔符隔開。例如 engines myisam,innodb,memory iterations ...