萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

Sysbench 安裝與 MySQL 壓力測試實戰:OLTP 與壓縮表性能對比

Sysbench 安裝步驟

  1. 下載:wget https://sourceforge.net/projects/sysbench/files/sysbench/0.4.12/sysbench-0.4.12.tar.gz
  2. 解壓:tar zxvf sysbench-0.4.12.tar.gz && cd sysbench-0.4.12
  3. 生成配置腳本:./autogen.sh
  4. 配置(指定 MySQL 路徑):
    ./configure --prefix=/usr/local/mysql \
    --with-mysql=/usr/local/mysql \
    --with-mysql-includes=/usr/local/mysql/include/mysql/ \
    --with-mysql-libs=/usr/local/mysql/lib/mysql/
  5. 編譯安裝:make && make install

關鍵: --with-mysql-includes 和 --with-mysql-libs 必須精確到 include/mysql 和 lib/mysql 子目錄,否則編譯失敗。

OLTP 基準測試流程

1. 準備數據(100 萬行,InnoDB)

sysbench --test=oltp \
--mysql-host=127.0.0.1 --mysql-port=3421 \
--mysql-user=root --mysql-password=$password \
--mysql-db=test --mysql-socket=/var/mysql.sock \
--oltp-table-name=test --mysql-table-engine=innodb \
--oltp-table-size=1000000 prepare

2. 執行壓力測試(100 併發,10 萬請求或 600 秒)

sysbench --test=oltp \
...(同上連接參數)...
--max-requests=100000 --max-time=600 --num-threads=100 run

3. 清理測試數據

sysbench --test=oltp ... cleanup

壓縮表 vs 非壓縮表性能對比

操作類型非壓縮表壓縮表差異
純 INSERT(100 萬行)73 秒,13.6k TPS432 秒,2.3k TPS壓縮表慢 ~6 倍
混合 OLTP(讀寫)295 秒,3.4k TPS318 秒,3.1k TPS壓縮表略慢

結論: InnoDB 行壓縮(ROW_FORMAT=COMPRESSED)顯著降低寫入吞吐,讀寫混合場景影響較小。需根據存儲成本與性能權衡。

copyright © 萬盛學電腦網 all rights reserved