pythonPython项目实战数据库

Python实现MySQL 压测工具

2021-08-05  本文已影响0人  刘小白DOER

   mysql存储过程Procedure可以循环建立1000万行的测试数据,可以参考Mysql存储过程Procedure  。今天使用Python多线程的插入大量数据,并可以实现mysql压测功能。

    代码托管:python/insert_mysql_benchmark.py at main · laufei90/python (github.com)

1、argparse模块解析命令行参数

    --host :数据库地址;

    --user:用户名

    --password:密码

    --port:端口

    --thread_size:线程数

    --row_size:插入数据行数

    -v:版本号

2.、创建数据库并创建数据表

    create_db_and_table函数,创建数据库test_insert_data_db及数据表test_insert_data_table。

3、插入数据到数据库

    random_string函数:随机生成字母和数字组成的字符串作为数据表的字段name 。

    add_row函数:调用execute方法插入一行数据。

    insert_data函数:打开数据库连接,插入指定的row_size。

4、主函数多线程插入数据

5、测试结果如下:

   命令行中使用time来查看insert_mysql_benchmark.py插入1万行数据的时间为5.8秒。

    time python3 insert_mysql_benchmark.py --host=192.168.15.219 --user=phpmyadmin --password=phpmyadmin --port=3306 --thread_size=10 --row_size=1000

上一篇下一篇

猜你喜欢

热点阅读