性能评测系列(PT-012):Spring Boot(K8s多实例) + MySQL,高并发insert
性能评测系列(PT-012):Spring Boot(K8s多实例) + MySQL,高并发insert
·
一、测试概述
测试场景
- 场景编号: PT-012
- 场景描述: Java应用(K8s容器化部署,多实例负载均衡),MySQL单表写
- 测试目的:指定规格、配置、环境下,Java应用数据库简单写场景负载能力评估。(不含调优,仅评测以作参考)
部署拓扑(图)
测试环境
应用部署a | 华为云c7系列 4vCPUs 8GiB,CentOS 7.6 64bit,通用型SSD(40GiB) |
---|---|
应用部署b | CCE Turbo、Node节点 * 3:华为云c7系列 4vCPUs 8GiB,EulerOS 2.9,通用型SSD |
云数据库 | MySQL(8.0),独享型 8 vCPUs 16 GB ,极速型SSD(200 GB),主备,多AZ |
软件环境 | JDK 1.8.0_151、Spring Boot 2.3.3.RELEASE、jar方式运行、内嵌Tomcat 9.0.37 |
网络环境 | 华为云 静态BGP 100 Mbit/s |
测试环境 | locust集群(48 workers)、单次测试时间:5分钟、每秒增加10%并发用户、零思考时间 |
其他说明 | 为规避大量历史数据对insert性能影响,每次测试后都会执行TRUNCATE操作 |
优化调整
优化对象 | 优化项 | 优化内容 |
---|---|---|
云服务器(应用服务器) | OS配置 | net.1pv4.tcp_max_tw_buckets=20000 |
Java应用 | 数据库连接数 | max-active: 400 |
二、测试过程
测试结果统计
测试任务 | 超时 | 并发数 | 成功入库 | 成功率 | RPS | 平均RT |
---|---|---|---|---|---|---|
PT-012-a-001 | 5s | 2000 | 4025852 | 100% | 13379 | 146.56 |
PT-012-a-002 | 5s | 5000 | 2481858 | 100% | 12976 | 368.81 |
PT-012-a-003 | 5s | 10000 | 3853208 | 98% | 13075 | 747.56 |
PT-012-a-004 | 5s | 15000 | 3904100 | 91% | 14274 | 1030.46 |
PT-012-b-001 | 5s | 2000 | 4021067 | 100% | 15944.8 | 123.15 |
PT-012-b-002 | 5s | 5000 | 4821548 | 100% | 16248.7 | 306.1 |
PT-012-b-003 | 5s | 10000 | 4849492 | 100% | 15891.2 | 609.03 |
PT-012-b-004 | 5s | 15000 | 4865477 | 100% | 16062.5 | 911.45 |
PT-012-b-005 | 5s | 20000 | 4885423 | 99% | 16561.9 | 1210.97 |
应用服务器性能监控
RDS性能监控
压测指标charts(部分对比)
三、事实结论描述
传统单实例部署:
- 负载能力: 当前测试环境下,5秒超时,并发用户可达:1万左右,RPS在1万3左右。
- 应用服务器: CPU负载波峰在36%左右,内存无明显波峰,TCP连接数波峰在1W2左右。
- 云数据库: CPU负载波峰在30%左右,内存略有增长,TPS在1万4左右。
- 综合分析: 随着并发用户数增加,平均RT呈现较为线性的同比增长,但RPS变化并不明显。
- 对比分析: 与
PT-010
对比,并发数相同,RPS有所提高。 - 影响分析: 并发容载能力与应用优化相关,RPS受限于数据库写能力。(当前分析仅限于本测试场景)
K8s多实例负载均衡部署:
- 负载能力: 当前测试环境下,5秒超时,并发用户可达:2W左右,RPS在1万6左右。
- 应用服务器: CPU负载波峰在25%左右,内存无明显波峰,TCP连接数波峰在5W左右。
- 云数据库: CPU负载波峰在37%左右,内存略有增长,TPS在1万7左右
- 综合分析: 随着并发用户数增加,平均RT呈现较为线性的同比增长,但RPS变化并不明显。
- 对比分析: 与传统单实例部署对比,并发容载能力提升,RPS也有所增加。
- 影响分析: 并发容载能力与应用优化相关,RPS受多方面因素影响。(当前分析仅限于本测试场景)
注意:当前的分析基于本次测试环境下,对测试结果进行事实描述,并不代表最优结果。仅供参考评估。
往期精彩内容推荐
性能评测系列(PT-010):Spring Boot + MySQL,高并发insert
云原生:10分钟了解一下Kubernetes架构
更多推荐
已为社区贡献5条内容
所有评论(0)