一万并发量导致的项目宕机--测试实验(主要测试数据库的连接数量问题)

博客围绕传统项目因高并发(10000并发)导致宕机问题展开。作者先给出增加缓存减轻数据库压力的理论方案,后搭建Spring Boot项目和单机MySQL数据库,用JMeter测试。经多次调整数据库连接数,发现可通过优化SQL、增加缓存及调整连接数解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为开发中很少接触性能问题,导致别人问了我一个问题。说他们项目是一个传统项目,突然有一天并发量(说是10000并发导致的。但是我不清楚这个数他是怎么来的。)上来了导致项目宕机问题。听完了后我以自身经验给出了一个答案就是首先需要知道宕机问题在于哪(一般这种问题可能都存在于数据库),如果是数据库就需要增加缓存,减轻数据库压力。回头自己想了想,没有实践的理论都是扯淡感觉。
然后自己简单的搭建了一个环境。()
1、 一个简单的spring boot 项目,里面一个查询接口finduser,这个接口就是查询返回固定999条数据
2、 配好了一个单机的mysql数据库。
数据库配置在这里插入图片描述

3、然后用jmeter 设置10000并发数量去调用接口,测试是否会宕机。

第一次测试 报了无法获取数据库连接

然后去查看mysql最大连接数的设置为100

在这里插入图片描述

又查看了允许的最大用户连接为210

在这里插入图片描述

通过网上查找资料得知一个公式 为 用户连接数量 / 最大连接数 *100 = 85% 为最理想的设置
然后我们吧最大连接数设置成250-_-!

重新启动测试
结果还是报出了 上面的错误
然后又吧数据库连接调整到了300
结果通过了测试没有报出问题。

最开始如果不调整数据库连接 并发调用接口 每次返回99条数据,项目并是不会报错误。然后把接口的返回数量调整到每次返回999条,就会报出数据库连接的问题。所以综上所述就单接口调用测试这里,我们应该首先去想到优化sql(增加索引、分页)等优化方案进行优化,如果还不行的话(可以增加缓存),最后可以适当调整数据库连接数 只是个人测试研究,请大神勿喷。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值