全部產品
Search
文件中心

Lindorm:效能測試工具-Shell

更新時間:Feb 11, 2026

AHBench是由阿里雲Lindorm團隊研發的benchmark測試套件,支援一鍵測試Lindorm和HBase等叢集效能。

介紹

該測試套件整合了YCSB(Yahoo! Cloud Serving Benchmark)工具,YCSB提供了測試集合、測試流程式控制制、結果匯聚等功能。使用該測試套件,您可以通過簡單配置,一鍵執行效能測試。

準備工作

  • 在壓測用戶端部署在ECS,您需要確保Lindorm執行個體和ECS執行個體滿足以下條件,以保證網路的連通性。ECS執行個體資訊的查看方法請參見查看執行個體資訊

    • 所在地區相同,並建議所在可用性區域相同(以減少網路延時)。

    • 網路類型相同。

      說明
      • 專用網路具有更高的安全性,建議使用專用網路。

      • 如果網路類型為专有网络,需確保使用相同的專用網路ID。

  • 將壓測用戶端IP地址添加至Lindorm執行個體的白名單中。

  • 下載測試套件AHBench,並上傳到壓測用戶端並解壓。

注意事項

  • 測試壓力過程中可能會使被測系統負載過高,請勿在生產環境中運行該測試載入器。

  • 該測試套件使用"ahbenchtest-read"與"ahbenchtest-write" 兩個表作為測試用表。測試過程中可能會刪除再建立這兩張表。請確保這兩張表可以安全地被刪除。

  • 確保有足夠測試叢集的儲存空間。

  • ECS為虛擬運行環境,同一機型下的效能測試結果可能存在5%~10%的波動,處於預期範圍之內。

運行環境

請確保壓測用戶端運行環境滿足:

  • Linux系統

  • JDK 1.8 +

  • Python 2.7

  • 建議用戶端CPU配置為獨享16Core以上

配置叢集地址

AHBench/conf/hbase-site.xml中配置需要測試的Lindorm或HBase叢集地址。

訪問Lindorm可參考基於HBase Java API的應用開發。並在hbase-site.xml中增加配置以下參數。

<property>
  <name>hbase.client.connection.impl</name>
  <value>org.apache.hadoop.hbase.client.AliHBaseUEClusterConnection</value>
</property>

配置環境變數

在AHBench/conf/ahbench-env.properties路徑下組態工具啟動並執行環境變數。

  1. 執行以下命令開啟ahbench-env.properties檔案。

    vi AHBench/conf/ahbench-env.properties
  2. 配置JDK的安裝地址(例如:JAVA_HOME=/usr/java/jdk1.8.0/)。如果Java已經在系統PATH中,可以跳過該配置。

  3. 配置被測HBase叢集的版本,如果為1.x版本則填1,如果為2.x版本則填2。

    HBASE_VERSION=2

配置測試相關參數(可選)

在AHBench/conf/ahbench-settings.properties路徑下配置測試相關的參數,如壓縮、編碼、線程數、資料量、欄位大小等,預設不需要修改,如有需求可根據情境進行定製修改。

說明

部分參數僅在特定Lindorm版本支援,如ZSTD壓縮和INDEX編碼僅在雲Lindorm支援,你可以通過配置ZSTD和INDEX獲得更好的效能。

# 配置被測表的壓縮演算法,可選項有:
# NONE LZO ZSTD SNAPPY GZ LZ4 ZSTD 等
# 注意部分被測系統可能不支援指定的壓縮演算法
# 雲Lindorm推薦使用ZSTD
ahbench.table.compression=SNAPPY

# 配置被測表的編碼演算法,可選項有:
# NONE DIFF INDEX
# 注意部分被測系統可能不支援指定的編碼演算法
# 雲Lindorm推薦使用INDEX
ahbench.table.encoding=DIFF
            

啟動測試

  • 快速測試集

    測試資料量1000萬,整體已耗用時間大約40分鐘(視被測系統可能有變化),至少需要總儲存空間20 GB。

    cd AHBench
    ./fast_test                 
  • 完整測試集

    測試資料量20億,整體已耗用時間大約25小時(視被測系統可能有變化),至少需要總儲存空間2 TB。

    cd AHBench
    ./full_test
                        

    若要重複進行該測試,可以通過跳過資料匯入階段(上一次測試已成功運行),減少已耗用時間。跳過匯入階段,整體測試回合時間大約3.5小時(視被測系統可能有變化)。

    cd AHBench
    ./full_test --skipload
                        

測試結果分析

測試完成後,會在目前的目錄產生CSV檔案。CSV(Comma-Separated Values)檔案全稱為逗點分隔值檔案。可以將測試結果複製到Excel、Numbers等資料分析軟體中做進一步對比分析。

  1. 查看CSV檔案的名稱。

    ls -ltr
  2. 查看指定CSV檔案的內容。

    cat full_throughput.csv

CSV檔案內容如圖所示。

csvwenjian

常見問題

如果測試中遇到錯誤退出,請檢查如下事項。

  • JAVA_HOME是否正確設定,是否安裝了Python運行環境。

  • 被測叢集地址是否填寫正確。

  • 被測叢集HBase版本是否填寫正確。

  • 被測叢集是否支援測試所指定的壓縮演算法。

  • 被測叢集狀態是否正常服務。