Benchmark 是一種測試計算機系統性能的工具。當涉及到 MySQL 數據庫時,Benchmark 可以用來測試它的性能表現。MySQL Benchmark 可以測試 MySQL 對于并發請求的響應,可以識別哪個瓶頸需要針對性的優化。
CREATE TABLE `mytable` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `age` tinyint(3) unsigned NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
為了測試某些列的性能,以下查詢可以用于測試 SELECT 語句的性能。為此,您需要創建一個包含足夠數量數據的表,如下所示。
INSERT INTO `mytable` (`name`,`age`) VALUES ("John",25), ("Jack",29), ("Alice",18), ("Bob",22), ("Tom",31), ("Helen",21), ("Emily",27), ("David",24), ("Jane",23), ("Sam",30);
以下是基本查詢的性能測試。
SELECT * FROM mytable WHERE age >20;
你也可以使用完整的基準測試腳本來測試查詢的性能
sysbench /usr/share/sysbench/oltp_read_only.lua --mysql-host=127.0.0.1 --mysql-user=root --mysql-password=password --mysql-db=mydatabase --table-size=10000000 --threads=64 --report-interval=10 --time=300 run
上述基準測試運行的是 OLTP(聯機交易處理)只讀腳本。最重要的是,我們需要指定線程數和測試時間。所使用的數字表的大小是 10 萬,然而,這個數字太小了,在實際生產環境中,表的大小會更大。
最后,我們需要強調基準測試是一種強大的工具,可以幫助系統管理員了解數據庫的性能。使用上述測試腳本,可以快速準確地測試 MySQL 數據的性能表現。對于大多數應用程序而言,我們強烈建議使用基準測試。