Implementation of MySQL index-based stress testing

Implementation of MySQL index-based stress testing

1. Simulate database data

1-1 Create database and table scripts - vim slap.sh

#!/bin/bash  
HOSTNAME="localhost" 
PORT="3306" 
USERNAME="root" 
PASSWORD="123" 
DBNAME="testdb" 
TABLENAME="t1" 
#create database 
mysql -h ${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -e "drop database if exists ${DBNAME}" 
create_db_sql="create database if not exists ${DBNAME}" 
mysql -h ${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -e "${create_db_sql}" 
#create table 
create_table_sql="create table if not exists ${TABLENAME}(stuid int not null primary key,stuname varchar(20) not null,stusex char(1)   
not null,cardid varchar(20) not null,birthday datetime,entertime datetime,address varchar(100)default null)" 
mysql -h ${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${create_table_sql}" 
#insert data to table 
i="1" 
while [ $i -le 500000 ]  
do  
insert_sql="insert into ${TABLENAME} values($i,'alexsb_$i','1','110011198809163418','1990-05-16','2017-09-13','testdb')" 
mysql -h ${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${insert_sql}" 
let i++  
done  
#select data  
select_sql="select count(*) from ${TABLENAME}" 
mysql -h ${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}"

1-2 Execute the script

sh slap.sh

1-3 Check data availability

mysql -uroot -p123
select count(*) from testdb.t1;

1-4 Use mysqlslap to perform stress testing before and after index optimization

mysqlslap --defaults-file=/etc/my.cnf \
 --concurrency=100 --iterations=1 --create-schema='testdb' \
--query="select * from testdb.t1 where stuname='test_100'" engine=innodb \
--number-of-queries=2000 -uroot -p123 -verbose 

This is the end of this article about the implementation of MySQL index-based stress testing. For more relevant MySQL index stress testing content, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • MySQL series 15 MySQL common configuration and performance stress test
  • How to use MySQL stress testing tools
  • Detailed tutorial on sysbench stress testing of mysql
  • MySQL stress testing method How to use mysqlslap to test MySQL stress?
  • MySQL stress test script example
  • Mysqlslap MySQL stress testing tool simple tutorial

<<:  Why are the pictures on mobile web apps not clear and very blurry?

>>:  A detailed introduction to wget command in Linux

Recommend

HTML form_PowerNode Java Academy

1. Form 1. The role of the form HTML forms are us...

How to introduce pictures more elegantly in Vue pages

Table of contents Error demonstration By computed...

Linux sftp command usage

Concept of SFTP sftp is the abbreviation of Secur...

Learn about JavaScript closure functions in one article

Table of contents Variable Scope The concept of c...

Detailed explanation of Vue two-way binding

Table of contents 1. Two-way binding 2. Will the ...

Tips for data statistics in MySQL

As a commonly used database, MySQL requires a lot...

Mysql auto-increment primary key id is not processed in this way

Mysql auto-increment primary key id does not incr...

Detailed explanation of HTML basics (Part 2)

1. List The list ul container is loaded with a fo...

CSS writing format, detailed explanation of the basic structure of a mobile page

1. CSS writing format 1. Inline styles You can wr...

How to add custom system services to CentOS7 systemd

systemd: The service systemctl script of CentOS 7...

Analysis of the Principle and Method of Implementing Linux Disk Partition

remember: IDE disk: the first disk is hda, the se...

Docker image compression and optimization operations

The reason why Docker is so popular nowadays is m...

Detailed explanation of meta tags (the role of meta tags)

No matter how wonderful your personal website is,...