使用sysbench測試mysql及postgresql(完整版)


使用sysbench測試mysql及postgresql(完整版)

轉載請注明出處https://www.cnblogs.com/funnyzpc/p/14592166.html

前言

使用sysbench測試數據庫十分的麻煩(主要是sysbench安裝麻煩),本人需要測試mysql及postgresql,mysql可以正常編譯通過,postgresql的怎么都不行,后來群內有網友提供編譯版,
發現一切都好使了😊,在此感謝某網友提供的編譯版sysbench

另外,如在使用過程中報各種莫名其妙的錯誤請使用yum或apt安裝下mysql或postgresql ,后續基本都順利~

sysbench主要參數

  • --threads=10:表示發起10個並發連接
  • --report-interval=20:表示每10秒輸出一次測試進度報告
  • --oltp-tables-count=3:表示會生成3個測試表
  • --oltp-table-size=50000000:表示每個測試表填充數據量為50000000

下載執行文件

使用方式

  • mysql: ./sysbench_mysql [執行參數]
  • postgresql: ./sysbench_pg [執行參數]
  • oracle: ./sysbench_ora [執行參數]

mysql 測試

構建測試數據

./sysbench_mysql --test=./tests/include/oltp_legacy/oltp.lua \
--mysql-host=服務域名或地址 --mysql-port=服務端口 --mysql-user=數據庫用戶 --mysql-password=數據庫密碼 --mysql-db=測試DB \
--oltp-test-mode=complex --oltp-tables-count=3 --oltp-table-size=50000000 \
--threads=12 --time=120 --report-interval=20 prepare

執行測試

  • 復雜模式執行復雜查詢
./sysbench_mysql --test=./tests/include/oltp_legacy/oltp.lua \
--mysql-host=服務域名或地址  --mysql-port=服務端口 --mysql-user=數據庫用戶 --mysql-password=數據庫密碼 --mysql-db=測試DB \
--oltp-test-mode=complex --oltp-read-only=on --oltp-tables-count=3 --oltp-table-size=50000000 \
--threads=12 --time=120 --report-interval=20 run >> /mnt/sysbench/mysql_bench_complex_20210400.log
  • 簡單模式執行增刪改查
./sysbench_mysql --test=./tests/include/oltp_legacy/oltp.lua \
--mysql-host=服務域名或地址  --mysql-port=服務端口 --mysql-user=數據庫用戶 --mysql-password=數據庫密碼 --mysql-db=測試DB \
--oltp-test-mode=simple --oltp-tables-count=3 --oltp-table-size=50000000 \
--threads=12 --time=120 --report-interval=20 run >> /mnt/sysbench/mysql_bench_simple_20210400.log

清理測試數據

./sysbench_mysql --test=./tests/include/oltp_legacy/oltp.lua \
--mysql-host=服務域名或地址  --mysql-port=服務端口 --mysql-user=數據庫用戶 --mysql-password=數據庫密碼 --mysql-db=測試DB \
--oltp-tables-count=3 cleanup

postgresql測試

構建測試數據

./sysbench_pg --test=./tests/include/oltp_legacy/oltp.lua \
--pgsql-host=服務域名或地址  --pgsql-port=服務端口 --pgsql-user=數據庫用戶 --pgsql-password=數據庫密碼  \
--pgsql-db=測試DB --oltp-tables-count=3 --oltp-table-size=50000000 \
--report-interval=20 --threads=12 \
prepare

執行測試

  • 復雜模式執行復雜查詢
./sysbench_pg --test=./tests/include/oltp_legacy/oltp.lua \
--pgsql-host=服務域名或地址 --pgsql-port=服務端口 --pgsql-user=數據庫用戶 --pgsql-password=數據庫密碼  \
--pgsql-db=測試DB --oltp-tables-count=3 --oltp-table-size=50000000 \
--oltp-test-mode=complex --oltp-read-only=on --report-interval=20 --threads=12 \
run >> /mnt/sysbench/pg_bench_complex_20210400.log
  • 簡單模式執行增刪改查
./sysbench_pg --test=./tests/include/oltp_legacy/oltp.lua \
--pgsql-host=服務域名或地址 --pgsql-port=服務端口 --pgsql-user=數據庫用戶 --pgsql-password=數據庫密碼  \
--pgsql-db=測試DB --oltp-tables-count=3 --oltp-table-size=50000000 \
--oltp-test-mode=simple --report-interval=20 --threads=12 \
run >> /mnt/sysbench/pg_bench_simple_20210400.log

清理文件

-- [錯誤]
./sysbench_pg --test=./tests/include/oltp_legacy/oltp.lua \
--pgsql-host=服務域名或地址 --pgsql-port=服務端口 --pgsql-user=數據庫用戶 --pgsql-password=數據庫密碼  \
--pgsql-db=測試DB --oltp-tables-count=3 --oltp-table-size=50000000 \
cleanup

以上清理文件需要說明的是:可能由於sysbench_pg編譯的版本比較低所以sysbench_pg在執行的時候會拋錯,但這不是大問題,簡單處理就是手動刪除下測試表~

--各位周末愉快😀--


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM