mysql效能測試

2022-03-18 19:25:47 字數 1753 閱讀 6501

mysqlslap mysql自帶的工具使用非常方面:

使用語法如下:

# mysqlslap [options]

常用引數 [options] 詳細說明:

--auto-generate-sql, -a 自動生成測試表和資料,表示用mysqlslap工具自己生成的sql指令碼來測試併發壓力。

--auto-generate-sql-load-type=type 測試語句的型別。代表要測試的環境是讀操作還是寫操作還是兩者混合的。取值包括:read,key,write,update和mixed(預設)。

--auto-generate-sql-add-auto-increment 代表對生成的表自動新增auto_increment列,從5.1.18版本開始支援。

--number-char-cols=n, -x n 自動生成的測試表中包含多少個字元型別的列,預設1

--number-int-cols=n, -y n 自動生成的測試表中包含多少個數字型別的列,預設1

--number-of-queries=n 總的測試查詢次數(併發客戶數×每客戶查詢次數)

--query=name,-q 使用自定義指令碼執行測試,例如可以呼叫自定義的乙個儲存過程或者sql語句來執行測試。

--create-schema 代表自定義的測試庫名稱,測試的schema,mysql中schema也就是database。

--commint=n 多少條dml後提交一次。

--compress, -c 如果伺服器和客戶端支援都壓縮,則壓縮資訊傳遞。

--concurrency=n, -c n 表示併發量,也就是模擬多少個客戶端同時執行select。可指定多個值,以逗號或者--delimiter引數指定的值做為分隔符。例如:--concurrency=100,200,500。

--engine=engine_name, -e engine_name 代表要測試的引擎,可以有多個,用分隔符隔開。例如:--engines=myisam,innodb。

--iterations=n, -i n 測試執行的迭代次數,代表要在不同併發環境下,各自執行測試多少次。

--only-print 只列印測試語句而不實際執行。

--detach=n 執行n條語句後斷開重連。

--debug-info, -t 列印記憶體和cpu的相關資訊。

前言:mysql可以單執行緒和多執行緒,但是一條sql只在乙個執行緒中執行;

mysql>show variables like 'thread%';

thread_handling | one-thread-per-connection ###代表 每個客戶端請求使用乙個執行緒(連線控制代碼復用)

thread_handling | no-threads ###伺服器使用乙個執行緒

thread_cache_size | 32 ###最多可以存放32個連線線程,為每個客戶端球使用乙個執行緒..

thread_stack | 196608 ###為每個連線的執行緒分配192k的記憶體空間

mysql> show status like '%connections%';

| connections | 199156 ### 伺服器總共有199156次連線

| max_used_connections | 31 ###最大併發連線數為31

MySql效能測試

mysql版本 mysql引擎 表結構 資料量 3000萬條左右 1 使用primary key進行查詢 2 使用索引進行查詢 注意資料型別,如果查詢條件為account no 26850則不會走索引查詢 在1 2中如果有order by欄位,其生效於where刪選資料之後,所以如果where篩選後...

mysql效能測試

伺服器 cpu 2ghz,記憶體 4g,物理機 系統 centos 5 32位 網路 100mbps 區域網 客戶端 cpu 2ghz,記憶體 4g 系統 centos 5 32位 資料量 1000萬條記錄 mysql版本 5.1.51 log 測試方法 把mysql掛到dns軟體後面,用bind的...

mysql效能測試

伺服器 cpu 2ghz,記憶體 4g,物理機 系統 centos 5 32位 網路 100mbps 區域網 客戶端 cpu 2ghz,記憶體 4g 系統 centos 5 32位 資料量 1000萬條記錄 mysql版本 5.1.51 log 測試方法 把mysql掛到dns軟體後面,用bind的...