mysql 可以承受多少人_mysql每秒最多能插入多少条数据 ? 死磕性能压测

前段时间搞优化,最后瓶颈发现都在数据库单点上。 问DBA,给我的写入答案是在1W(机械硬盘)左右。

联想起前几天infoQ上一篇文章说他们最好的硬件写入速度在2W后也无法提高(SSD硬盘)

但这东西感觉从来没证实过,故一时兴起,弄台虚拟机压测起来。

想搞清下面的问题:

1,mysql支撑多少连接数?

2,写入瓶颈到底是多少?

3,求QPS

畅想:

足够的CPU, load>远小于核数*2

足够的内存, 基本只用到物理内存

瓶颈在硬盘,写入速度应该能到90-100M/S(机械硬盘,7200转)。 故:预计kB_wrtn/s在90M左右

准备阶段:

硬件:

压测机I5双核,8G内存, 开一个虚拟机+mysql,一个eclipse,一个jmeter

MYSQL准备

mysql基本命令

停止:

root@ubuntu:/home/hejinbin# /etc/init.d/mysql stop

Stopping mysql (via systemctl): mysql.service.

启动:

root@ubuntu:/home/hejinbin# /etc/init.d/mysql start

Starting mysql (via systemctl): mysql.service.

重启:

/etc/init.d/mysql restart  重启mysql

查看当前mysq端口的连接数

netstat -apn|grep "3306"

查看mysql基本状态

show processlist;  查看当前连接

show status;   查看当前数据库状态

show variables like 'max_connections'  mysql当前最大连接数

set global max_connections=1000;  设置当前最大连接数为1000

这个设置会马上生效,但是当mysql重启时这个设置会失效,需要长期生效在my.ini 添加 max_connections=1000

jmeter准备:

1,测试空压测, 测试压测客户端能承受的线程数,

只开聚合报告,其它图形和结果树输出关闭。

经过测试,打开监视器图形结果和结果树输出,本机空压测也只能到1500附近,所以特别注意关闭这两个,只开聚合报告,我的机器100个线程空压测可以到压测到6W吞吐量(throughput/sec)

后面也用100个线程进行mysql的插入压测

JAVA测试类准备

用C3P0进行压测:

C3P0:

1, 在classpath下放入 c3p0-config.xml 配置如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

ro

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值