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
    评论
要提高Java频繁插入数据库的效率,可以考虑以下几个方面的改进。 1. 批量插入:通过使用批量插入操作,将多个插入语句一次性发送到数据库,可以减少通信开销和事务管理开销,从而提高插入速度。可以使用JDBC的addBatch()和executeBatch()方法来实现批量插入。 2. 使用连接池:连接池可以管理数据库连接的创建和释放,避免了频繁的创建和销毁连接的开销。可以使用开源的连接池库,如Apache Commons DBCP或HikariCP来管理数据库连接。 3. 使用索引:在频繁插入数据库的表上创建适当的索引,可以提高插入的效率。索引可以加快数据查找的速度,减少插入时的磁盘IO次数,从而提高插入性能。 4. 调整事务隔离级别:在高并发插入场景下,可以尝试将事务隔离级别调整为READ COMMITTED,可以避免插入操作对其他事务的影响,提高并发性能。 5. 使用存储过程:将频繁插入操作封装为数据库存储过程,可以减少网络传输的数据量,提高插入性能。 6. 设置适当的数据库参数:如合理调整数据库的缓冲区大小、内存使用和并发连接数等参数,以及优化数据库的配置,可以提高插入性能。 7. 使用异步操作:将插入操作放入多线程或者异步任务中执行,可以提高并发性能和整体吞吐量。 总结起来,提高Java频繁插入数据库的效率可以从批量插入、连接池、索引优化、事务隔离级别、存储过程、数据库参数优化和异步操作等多个方面进行改进。采取合适的优化策略,可以有效地提高插入性能,提升系统的吞吐量和响应速度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值