性能评测系列(PT-012):Spring Boot(K8s多实例) + MySQL,高并发insert

举报
云叔记 发表于 2024/06/19 15:55:31 2024/06/19
【摘要】 PT-012:Java应用(K8s容器化部署,多实例负载均衡),MySQL单表写

PT-012.png

一、测试概述

测试场景

  • 场景编号: PT-012
  • 场景描述: Java应用(K8s容器化部署,多实例负载均衡),MySQL单表写
  • 测试目的:指定规格、配置、环境下,Java应用数据库简单写场景负载能力评估。(不含调优,仅评测以作参考)

部署拓扑(图)

image-20240619140021266.png


测试环境

应用部署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

应用服务器性能监控

image-20240619150738763.png


RDS性能监控

image-20240619150359086.png


压测指标charts(部分对比)

image-20240619142520375.png

image-20240619145409897.png



三、事实结论描述

传统单实例部署:

  1. 负载能力: 当前测试环境下,5秒超时,并发用户可达:1万左右,RPS在1万3左右。
  2. 应用服务器: CPU负载波峰在36%左右,内存无明显波峰,TCP连接数波峰在1W2左右。
  3. 云数据库: CPU负载波峰在30%左右,内存略有增长,TPS在1万4左右。
  4. 综合分析: 随着并发用户数增加,平均RT呈现较为线性的同比增长,但RPS变化并不明显。
  5. 对比分析:PT-010对比,并发数相同,RPS有所提高。
  6. 影响分析: 并发容载能力与应用优化相关,RPS受限于数据库写能力。(当前分析仅限于本测试场景)

K8s多实例负载均衡部署:

  1. 负载能力: 当前测试环境下,5秒超时,并发用户可达:2W左右,RPS在1万6左右。
  2. 应用服务器: CPU负载波峰在25%左右,内存无明显波峰,TCP连接数波峰在5W左右。
  3. 云数据库: CPU负载波峰在37%左右,内存略有增长,TPS在1万7左右
  4. 综合分析: 随着并发用户数增加,平均RT呈现较为线性的同比增长,但RPS变化并不明显。
  5. 对比分析: 与传统单实例部署对比,并发容载能力提升,RPS也有所增加。
  6. 影响分析: 并发容载能力与应用优化相关,RPS受多方面因素影响。(当前分析仅限于本测试场景)

注意:当前的分析基于本次测试环境下,对测试结果进行事实描述,并不代表最优结果。仅供参考评估。


往期精彩内容推荐

PT-010
云原生:10分钟了解一下Kubernetes架构

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。