性能测试生产环境只读业务压力测试及容量评估

news2024/12/27 7:21:24

目录

一、风险监控能力:

二、风险流控能力:

三、风险熔断能力:

生产只读业务压测及容量评估阶段包括以下几方面内容:

生产环境对只读业务进行压力测试时注意事项?

一、提前规划与沟通:

二、选择合适的时间窗口:

三、监控与日志记录:

四,备份重要数据:

五、逐步增加负载:

六、注意资源限制:

七、制定应急计划:

八、关注用户体验:

九、合法性与合规性考量:


生产只读业务压测及容量评估阶段的主要目的是获取系统在生产环境只读业务的性能和容量表现(如生产网络带宽、生产中间件配置等)。

在生产环境开展只读业务的性能测试时,需要具备以下几方面的能力。

一、风险监控能力:

指业务系统能够对生产环境中的业务系统进行实时监控,包括对业务主机基础监控、对业务系统的业务监控等。目的是在压测过程中能够及时掌握系统的性能情况,避免在没有监控的情况下发生系统直接宕机的情况。同时,压测过程也是验证业务系统本身的监控能力的一个重要手段。

二、风险流控能力:

指业务系统的流量控制压测平台的流量控制两个方面的能力。在业务系统本身的设计上,可以通过开关控制系统能够接收的流量,如通过负载均衡设备或者网关进行限流操作。在压测平台的设计上,可以通过设置阀值来自动控制流量,当流量超过间值时,减少请求流量对系统的压力,在未达到团值时逐渐增加流量。这两方面流量控制的能力可以更好地实现对流量的风险控制,保障系统在压测过程中的稳定。同时,压测过程也是验证业务系统流控能力的一个重要手段。

三、风险熔断能力:

指业务系统对压测流量进行熔断的能力压测平台自身具备的熔断能力两个方面。在业务系统本身的设计上,当系统达到某种情况时直接熔断流量,不进入后续系统或服务,比如A调用B系统,当A系统发现B系统已经超过A系统设置的时间时,自动熔断B系统之前的流量,来保障A系统可以运行。在压测平台的设计上,可以配置当单服务达到某些情况时自动熔断发压流量,比如当服务器的CPU利用率达到90%时自动熔断压测流量。该能力的目的是更好地保护系统不在压测时发生重大生产事故。同时,压测过程也是验证业务系统熔断能力的一个重要手段。

如果无法保障这些能力,在生产压测过程中会存在较大风险,可能会导致系统直接宕机,给业务造成重要影响,造成经济损失。

生产只读业务压测及容量评估阶段包括以下几方面内容:

只读业务功能在生产环境的性能表现;

只读业务在生产环境下的容量支持情况;

验证生产环境中系统的监控能力、风控能力。该阶段是对线下全链路压测分析阶段的补充,补充了系统在生产环境中的性能情况以及业务系统的健壮性情况。

生产只读业务压测及容量评估阶段主要由以下几方面因素影响:

线下压测存在业务场景不足的情况,比如线下环境的配置与生产环境不一致导致无法了解生产环境支持的性能情况;

业务系统的复杂度较高导致线下准备完全一样的环境对一部分企业来说比较困难;

除了了解业务系统本身性能外,还需要做相关业务系统生产可靠性方面的测试验证。

这是性能工程的第三阶段,主要是在生产环境中进行只读业务的全链路压测。在理论规范方面,主要对生产压测上的方案设计以及生产压测之前的众多准备工作有了更高的要求。在工具平台方面,不仅需要具备第三阶段的能力,还需要具备智能化的控制告警能力。在组织文化方面,要求团队除了具备压测的能力外,还需要了解运维方面的知识,此外更需要了解系统在架构设计方面的知识。

生产环境对只读业务进行压力测试时注意事项?

在生产环境中对只读业务进行压力测试时,虽然这种类型的测试相对较为安全,因为不会直接修改数据库中的数据,但仍然需要谨慎行事以避免给系统带来不必要的风险。以下是一些重要的注意事项:

一、提前规划与沟通:

确保所有相关团队(包括但不限于开发、运维、DBA等)都已被告知测试计划,并且了解其目的和可能的影响。这有助于减少误解并确保所有人都准备好了应对可能出现的问题。

二、选择合适的时间窗口:

尽量安排在业务低峰期进行测试,以减少对正常用户访问的影响。同时也要考虑到任何可能的全球性因素,比如节假日或特定事件期间流量的变化。

三、监控与日志记录:

加强监控措施,确保能够及时发现性能下降其他异常情况。此外,详细记录整个过程中的各项指标变化,为后续分析提供依据。

四,备份重要数据:

尽管是只读操作,但出于安全考虑,最好还是做好关键数据的备份工作。这样即使出现问题也能快速恢复

五、逐步增加负载:

不要一开始就施加最大负载,而是应该从较小规模开始逐渐增大,观察系统反应。这样可以帮助识别出系统性能瓶颈的具体位置。

六、注意资源限制:

检查服务器配置,确保有足够的CPU、内存等资源来支持预期的负载量。如果预计会超出当前资源限制,则需提前调整或扩展容量

七、制定应急计划:

事先准备好一旦发现问题时可以立即采取的行动方案。例如,如何迅速停止测试、回滚变更或者启用备用服务等。

八、关注用户体验:

即使是在后台运行的压力测试,也应该密切关注前端用户的体验是否受到影响。可以通过设置一些关键性能指标(KPIs)来衡量这一点。

九、合法性与合规性考量:

确保所执行的所有活动都符合相关的法律法规要求,特别是涉及到个人隐私信息处理时更需小心。

通过遵循上述建议,可以在最大程度上降低风险的同时有效地完成生产环境下只读业务的压力测试

阅读后若有收获,不吝关注,转发,留言等操作!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2254439.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt开源控件:图像刻度轴绘制器 (附源码)工程项目私信博主

项目简介 图像刻度轴绘制器是一款基于 Qt/C 开发的小型绘图工具,旨在实现带有刻度轴的图像显示功能。该项目主要用于需要精确测量或标注图像坐标的场景。通过左侧和底部的坐标轴以及对应的刻度线,可以直观地了解图像内容在二维空间中的位置。 项目功能 …

集成学习综合教程

一、前置知识 一个分类器的分类准确率在60%-80%,即:比随机预测略好,但准确率却不太高,我们可以称之为 “弱分类器”,比如CART(classification and regression tree 分类与回归树)。 反之&#x…

渗透测试--Windows凭证收集

在渗透测试过程中,我们终究会遇到攻陷了某台加域Windows主机的情况。而这种情况下,我们很需要搜集当前主机的凭证信息。为进一步利用这些相互信任的凭证来进行横向打下基础。 在凭证收集中,我们主要有以下场景: 1.lsass.exe的DMP文…

云开发 Copilot ——让开发变得更简单

声明:本篇博客为云开发 Copilot体验文章,非广告 目录 前言: 游客体验 云开发 Copilot实战: 一、图片生成需求 二、云开发 Copilot实现需求 三、AI生成低代码页面 Copilot 的亮点功能 使用场景 云开发 Copilot开发的前景…

【Docker】创建Docker并部署Web站点

要在服务器上创建Docker容器,并在其中部署站点,你可以按照以下步骤操作。我们将以Flask应用为例来说明如何完成这一过程。 1. 准备工作 确保你的服务器已经安装了Docker。如果没有,请根据官方文档安装: Docker 安装指南 2. 创…

【Java】Switch语句、循环语句(for、while、do...while)

Switch语句:针对某个表达式的值进行判断,从而决定执行哪一段代码 语法格式: switch(表达式){ case 目标值1: 执行语句1 break; case 目标值2: …

第一部分:基础知识 3. 数据类型 --[MySQL轻松入门教程]

第一部分:基础知识 3. 数据类型 --[MySQL轻松入门教程] MySQL 支持多种数据类型,这些数据类型可以分为几大类:数值类型、字符串类型、日期和时间类型、二进制类型以及枚举和集合。每种类型都有其特定的用途和存储需求。以下是 MySQL 中常用的数据类型的详细介绍: 1. 数值…

uniapp 添加loading

在uniapp中添加loading可以使用uni的API uni.showLoading 方法。以下是一个简单的示例代码 // 显示loading uni.showLoading({title: 加载中 });// 假设这里是异步操作,比如网络请求 setTimeout(function () {// 隐藏loadinguni.hideLoading(); }, 2000);

HTTP(超文本传输协议)

HTTP是万维网通信的基础构成,是一个简单的请求相应协议,基于TCP之上80号端口 通信原理 DNS解析 将域名甩个DNS服务器解析,将域名化为IP访问 建立TCP连接 如图,客户端先发送一个sys置位seq为x(任意值)的…

(78)MPSK基带调制通信系统瑞利平坦衰落信道传输性能的MATLAB仿真

文章目录 前言一、MATLAB仿真1.仿真代码2.仿真结果 二、子函数与完整代码总结 前言 本文给出瑞利平坦衰落信道上的M-PSK通信系统性能仿真的MATLAB源代码与仿真结果。其中,调制方式M-PSK包括BPSK、QPSK、8-PSK、16-PSK、32-PSK等方式。 一、MATLAB仿真 1.仿真代码 …

JAVA |日常开发中JSTL标签库详解

JAVA &#xff5c;日常开发中JSTL标签库详解 前言一、JSTL 概述1.1 定义1.2 优势 二、JSTL 核心标签库2.1 导入 JSTL 库2.2 <c:out>标签 - 输出数据2.3 <c:if>标签 - 条件判断2.4 <c:choose>、<c:when>和<c:otherwise>标签 - 多条件选择 结束语优…

NAT traversal 原理 | TCP / UDP/ P2P

注&#xff1a;本文为 “NAT traversal ”相关的几篇文章合辑。 未整理去重。 NAT 穿越技术原理 Li_yy123 于 2020-12-08 18:54:26 发布 一、NAT 由来 为了解决全球公有 IPv4 的稀缺&#xff0c;提出了 NAT 技术。NAT 是 Network Address Translation 网络地址转换的缩写。 …

P3916 图的遍历(Tarjan缩点和反向建边)

P3916 图的遍历 - 洛谷 | 计算机科学教育新生态 写法一&#xff1a;Tarjan 思路&#xff1a;先运用Tarjan算法得到每个连通块中最大的编号&#xff0c;然后对每个连通块进行缩点重新建图&#xff0c;进行dfs&#xff0c;得到缩点后的连通块能够达到的最大编号。 Code: conste…

数据结构与算法学习笔记----堆

数据结构与算法学习笔记----堆 author: 明月清了个风 first publish time: 2024.12.2 revised: 2024.12.3 - 例题标题错误&#xff0c;已修改。 ps⛹从这里开始调整了文章结构&#xff0c;先讲解算法和数据结构基本原理&#xff0c;再给出例题&#xff0c;针对例题中的应用再…

【C++】格式化输出详解:掌握 cout 的进阶用法

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;格式化输出的理论概述&#x1f4af;控制输出宽度和填充字符setw 操作符setfill 操作符 &#x1f4af;控制浮点数的显示格式fixed 与 scientificsetprecision &#x1f4af;…

Rust : 生成日历管理markdown文件的小工具

需求&#xff1a; 拟生成以下markdown管理小工具&#xff0c;这也是我日常工作日程表。 可以输入任意时间段&#xff0c;运行后就可以生成以上的markdown文件。 一、toml [package] name "rust-workfile" version "0.1.0" edition "2021"[d…

Spring01——Spring Framework系统架构

spring学习路线 Spring Framework系统架构 相关概念 低耦合&#xff1a;是指系统中各个模块或组件之间的依赖性较低&#xff0c;即它们之间的联系较少、交互简单。这种设计原则的目的是为了提高系统的灵活性和可维护性&#xff0c;便于模块的独立开发、测试和替换。解耦&…

MicroBlaze软核开发(一):Hello World

实现功能&#xff1a;使用 MicroBlaze软核 串口打印 Hello World Vivado版本&#xff1a;2018.3 目录 MicroBlaze介绍 vivado部分&#xff1a; 一、新建工程 二、配置MicroBlaze 三、添加Uart串口IP 四、生成HDL文件编译 SDK部分&#xff1a; 一、导出硬件启动SDK 二、…

ZLMediaKit+wvp (ffmpeg+obs)推拉流测试

这里使用了两种方式: ffmpeg命令和 OBS OBS推流在网上找了些基本没有说明白的, 在ZLMediaKit的issues中看到了一个好大哥的提问在此记录一下 使用OBS推流&#xff0c;rtmp&#xff0c;报鉴权失败 推流 1. ffmpeg命令推流 官方说明文档地址: 推流规则 rtsp://192.168.1.4:10554…

微信小程序之简单的数据中心管理平台(1)

微信小程序之简单的数据中心管理平台&#xff08;1&#xff09; 引言 随着微信小程序的广泛应用&#xff0c;越来越多的企业开始探索如何利用这一技术开发高效、便捷的管理平台。数据中心管理作为信息化建设的重要组成部分&#xff0c;需要一个灵活、可扩展的界面来实现资源的…