Heim > Datenbank > MySQL-Tutorial > Einführung und Verwendung des MySQL-Stresstesttools mysqlslap_MySQL

Einführung und Verwendung des MySQL-Stresstesttools mysqlslap_MySQL

WBOY
Freigeben: 2016-10-09 08:33:41
Original
1399 Leute haben es durchsucht

1. Einführung in Mysqlslap

Mysqlslap ist das mit MySQL5.1 gelieferte Benchmark-Benchmarking-Tool. Es generiert Schemata, lädt Daten, führt Benchmarks aus und fragt Daten ab . Dieses Tool kann mehrere Clients simulieren, die gleichzeitig Abfrageaktualisierungen an den Server senden, Leistungstestdaten bereitstellen und Leistungsvergleiche mehrerer Engines ermöglichen. MySQLslap bietet eine intuitive Überprüfungsbasis für die Optimierung der MySQL-Leistung vor und nach dem Start. Der Autor empfiehlt, dass das Systembetriebs- und Wartungspersonal einige gängige Stresstest-Tools beherrschen sollte, damit es die Obergrenze des Benutzerverkehrs, die das Online-System unterstützen kann, genauer erfassen kann und seine Druckfestigkeit und andere Probleme.

2. Parametereinführung

--auto-generate-sql  -a           自动生成MySQL测试语句
--auto-generate-sql-add-autoincrement     添加AUTO_INCREMENT字段
--auto-generate-sql-execute-number=#     查询的个数
--auto-generate-sql-guid-primary       添加GUID字段
--auto-generate-sql-load-type=name      mixed:混合、update:更新、write:写入、key:读主键、read:查询
--auto-generate-sql-secondary-indexes=#    设置索引字段个数
--auto-generate-sql-unique-query-number=#   生成N条不同的query sql语句
--auto-generate-sql-unique-write-number=#   生成N条不同的write sql语句
--auto-generate-sql-write-number=#      每个线程write sql语句数量
--commit=#                     设置每多少条sql语句提交一次
--compress  -C                 启用压缩协议
--concurrency=#  -c              客户端数量(并发量)
--create=name                   测试的SQL语句或文件
--create-schema=name               测试的数据名
--csv=name                  生产CSV格式数据文件
--debug  -#                  写调试日志(windows不可用) 如:mysqlslap -a -#"d:t:o,c:/debug.txt"
--debug-check                   测试后打印调试信息(windows不可用)
--debug-info  -T              打印内存和CPU的相关信息
--default-auth=plugin             验证插件
--delimiter=str  -F             语句分隔符默认是 ;
--detach=#                  执行N条语句后断开重连
--enable-cleartext-plugin           启用明文身份验证插件
--engine=engine_name  -e          测试引擎 如:mysqlslap -e"myisam"或-e"myisam,innodb"
--help                    帮助信息
--host=host_name  -h            数据库host
--iterations=#  -i             重复运行的次数
--login-path=name               登陆配置文件
--no-drop                   测试后不删除schema
--number-char-cols=#  -x          设置VARCHAR类型字段数量
--number-int-cols=#  -y           设置INT类型字段数量
--number-of-queries=#             每个客户端运行sql语句数量
--only-print                 仅显示将被运行的SQL语句--delimiter选项影响
--password=password  -p           数据库密码
--pipe                    启用管道
--plugin-dir=path               插件目录
--port=port_num  -P             数据库端口
--post-query=value              测试后执行的SQL语句
--post-system=str               测试后执行的系统语句
--pre-query=value               测试前执行的SQL语句
--pre-system=str               测试前执行的系统语句
--protocol=type                链接协议 tcp, socket, pipe
--query=value  -q              测试的SQL语句 如:mysqlslap --query="SELECT * FROM t1"
--secure-auth                 不要发送密码到服务器
--silent  -s                不显示测试(静音测试)
--socket=path  -S              连接服务器的socket
--ssl-ca=file_name     
--ssl-capath=dir_name     
--ssl-cert=file_name     
--ssl-cipher=cipher_list     
--ssl-crl=file_name     
--ssl-crlpath=dir_name     
--ssl-key=file_name     
--ssl-verify-server-cert     
--user=user_name  -u            数据库用户名
--verbose  -v                输出更多的信息
--version  -V                版本信息
Nach dem Login kopieren

3. Einfaches Beispiel

1. Testen Sie 100, 200 bzw. 400 gleichzeitige Ausführungen von 100.000 SQL-Anweisungen.

mysqlslap -uroot -proot -h192.168.10.43 -P3306 --create-schema=chenmh --delimiter=";" --query="call pro_auto_select_pri" --concurrency=100,200,400 --number-of-queries=100000 
Nach dem Login kopieren

Hinweis: Die Berichtsausgabezeit spiegelt sich hauptsächlich in der Zeit wider, die zum Ausführen der durch –number-of-queries angegebenen Abfrage benötigt wird. Hier sind 100 gleichzeitige, 200 gleichzeitige und 400 gleichzeitige Ausführungen von 100.000 Aufrufen erforderlich die Zeit. Standardmäßig ist -iterations nicht angegeben, was bedeutet, dass die Operation wiederholt ausgeführt wird. Wenn N wiederholt ausgeführt wird, spiegelt die Ausgabezeit auch die in einer einzelnen Schleife verbrachte Zeit wider.

2. CSV generieren

mysqlslap -a -e"myisam,innodb" --csv="c:/a.csv"
Nach dem Login kopieren

4. Zusammenfassung

Mysqlslap dient hauptsächlich zum Testen der Datenbankleistung. Die automatische Testfunktion ist begrenzt und die Produktionsberichte sind nicht detailliert genug. Daher wird empfohlen, Sysbench für Benchmark-Tests zu verwenden. Das Obige ist die vollständige Einführung zu MySQL. Ich hoffe, dass es für das Studium oder die Arbeit aller hilfreich ist. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage