在阿里云容器服务上创建Spring Boot应用之压测篇

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 如何对通过阿里云容器服务创建的Spring Boot应用进行性能压测

  Spring Boot框架的第一个稳定版本是在2014年由Pivotal发布的,该框架的宗旨在于为基于Spring的Web应用提供快速设计开发,并追求小而美、约定胜于配置、快速开发、自包含且便捷。Spring Boot当前开发中的版本是1.4。

  上一篇文章“在阿里云容器服务上创建第一个Spring Boot应用”,讲述了如何通过Maven的Docker plugin上传镜像到阿里云的容器Hub,并通过阿里云的容器服务快速在云环境创建应用。本文将描述下,如果在阿里云环境里继续对这个Web应用进行压测,下面我会按照4个步骤进行介绍:

  • 第一步:评估应用的架构
  • 第二步:评估压测的架构
  • 第三步:配置压测任务
  • 第四步:查看压测结果

第一步:评估应用的架构

  上一篇我们通过阿里云容器服务给这个Sping Boot服务配置了一条路由规则:
容器端口为8080,域名前缀为spring-boot。容器服务会自动生成一个测试域名‘spring-boot.<cluster_id>.<region_id>.alicontainer.com’

  当一个Request请求这个域名时会经过以下几次转发:

  • 这个域名的DNS指向集群的负载均衡SLB的ip。
  • SLB会监听80端口的请求并转发到集群内的每台云服务器的80端口。
  • 而每台云服务器里面有一个系统的容器acs-routing,会负责将服务器的80端口上指定域名的请求转发到指定容器的内部8080端口。

以下是应用的架构简图:
demo1_2_

我们回到容器服务的控制台记录下几个信息,后续会再用到:

第二步:评估压测的架构

评估压测指标

首先我们需要对Spring Boot的用户访问场景进行评估,经过拍脑袋之后,我们决定以10个并发对首页进行压测,看看能否抗的住,主要观察几个指标:首页的tps、rt,服务器的cpu、load。最常见的方式就是搞一个httpload、jmeter压压,幸运的发现阿里云已经提供了类似的能力。我们决定通过“云监控”和“性能压测”两个产品来试试。

以下是压测的架构简图:
demo1_1_
压测方案分为两部分:

安装监控插件(ECS插件)

通过云监控采集服务器的监控数据(免费开通云监控->云服务监控->ECS监控列表->筛选第一步中的2台服务器,“点击安装”ECS插件)
_2016_02_01_11_25_41

设置压测目标信息

在性能测试产品里绑定压测的ECS和SLB(免费开通性能测试企业版->测试环境->云内机器)
_2016_02_01_11_30_24
_2016_02_01_11_31_49
下面开始配置压测任务

第三步:配置压测任务

新增压测脚本(性能测试控制台->测试脚本->脚本)

_2016_02_01_11_35_06
点击上图的新增脚本
_2016_02_01_11_37_27
设置脚本名:perf-springboot

添加一个事务:事务名称(testPerf),请求链接(http://spring-boot.cfe5de77bd7a4474c826e8465930fae75.cn-shenzhen.alicontainer.com/),请求类型(GET)
点击保存

新增测试场景

选择脚本名
_2016_02_01_11_41_02
设置场景名:perf-springboot
设置并发用户数:10
_2016_02_01_11_42_05
点击保存

新增测试任务

_2016_02_01_11_43_24
点击新增任务

设置任务名:perf-springboot

设置持续时间:10分钟

设置施压集群:深圳

选择监控机:绑定之前深圳集群的两台机器

绑定场景:绑定上一步的测试场景
_2016_02_01_11_48_13
点击保存
_2016_02_01_11_48_43
点击确认
_2016_02_01_11_49_31
点击执行
_2016_02_01_11_50_53

第四步:查看压测结果

休息10分钟回来~

查看压测结果
_2016_02_02_12_09_03
查看tps数据
_2016_02_02_12_09_34
查看rt数据
_2016_02_02_12_09_42
查看服务器的cpu数据
_2016_02_02_12_09_55

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
打赏
0
0
0
1
78344
分享
相关文章
Java也能快速搭建AI应用?一文带你玩转Spring AI可落地性
Java语言凭借其成熟的生态与解决方案,特别是通过 Spring AI 框架,正迅速成为 AI 应用开发的新选择。本文将探讨如何利用 Spring AI Alibaba 构建在线聊天 AI 应用,并实现对其性能的全面可观测性。
对话即服务:Spring Boot整合MCP让你的CRUD系统秒变AI助手
本文介绍了如何通过Model Context Protocol (MCP) 协议将传统Spring Boot服务改造为支持AI交互的智能系统。MCP作为“万能适配器”,让AI以统一方式与多种服务和数据源交互,降低开发复杂度。文章以图书管理服务为例,详细说明了引入依赖、配置MCP服务器、改造服务方法(注解方式或函数Bean方式)及接口测试的全流程。最终实现用户通过自然语言查询数据库的功能,展示了MCP在简化AI集成、提升系统易用性方面的价值。未来,“对话即服务”有望成为主流开发范式。
138 1
容器化浪潮下的AI赋能:智能化运维与创新应用
近年来,容器技术以其轻量、高效、可移植的特性成为云原生时代的基石,推动应用开发和部署方式革新。随着容器化应用规模扩大,传统运维手段逐渐力不从心。AI技术的引入为容器化生态带来新活力,实现智能监控、自动化故障诊断与修复及智能资源调度,提升运维效率和可靠性。同时,AI驱动容器化创新应用,如模型训练、边缘计算和Serverless AI服务,带来更多可能性。未来,AI与容器技术的融合将更加紧密,推动更智能、高效的运维平台和丰富的创新应用场景,助力数字化转型。
|
19天前
|
Spring AI与DeepSeek实战一:快速打造智能对话应用
在 AI 技术蓬勃发展的今天,国产大模型DeepSeek凭借其低成本高性能的特点,成为企业智能化转型的热门选择。而Spring AI作为 Java 生态的 AI 集成框架,通过统一API、简化配置等特性,让开发者无需深入底层即可快速调用各类 AI 服务。本文将手把手教你通过spring-ai集成DeepSeek接口实现普通对话与流式对话功能,助力你的Java应用轻松接入 AI 能力!虽然通过Spring AI能够快速完成DeepSeek大模型与。
340 11
Spring AI Alibaba 应用框架挑战赛圆满落幕,恭喜获奖选手
第二届开放原子大赛 Spring AI Alibaba 应用框架挑战赛决赛于 2 月 23 日在北京圆满落幕。
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
课时5:阿里云容器服务:最原生的集成Docker和云服务
阿里云容器服务以服务化形式构建容器基础设施,大幅提升开发效率,简化应用部署流程。通过Docker容器和DevOps工具(如Jenkins),实现自动化部署与迭代,优化企业内部复杂部署问题。该服务支持GPU调度、混合云架构无缝迁移,并与阿里云产品体系无缝集成,提供安全防护、网络负载均衡等多重功能支持。凭借微服务架构,帮助企业突破业务瓶颈,提高资源利用率,轻松应对海量流量。
课时5:阿里云容器服务:最原生的集成Docker和云服务

相关产品

  • 容器计算服务
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等