百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

性能测试生产读写业务全链路压测及容量评估

mhr18 2024-12-07 22:20 23 浏览 0 评论

生产读写业务全链路压测及容量评估阶段的主要目的是获取业务系统在生产上的性能和容量表现。它更关注生产环境下业务系统在用户场景下的容量表现,涉及的范围更大更广,而不只是只读业务。

在生产环境开展读写业务的全链路压测时,需要具备以下几方面的能力。

一、数据隔离能力

指对生产环境中的数据库或者Redis搭建影子库(表)或影子Redis,从而实现生产环境中的数据隔离。目的是保证在生产压测过程中对生产环境数据的零污染,让压测时的测试数据进入影子库,真正用户的数据正常进入正式数据库,从而不会影响下游及其他业务系统的数据,保证数据的一致性

二、日志隔离能力

指对生产环境中的日志按照生产和测试来区分、隔离。目的是保证将生产环境中的日志与测试日志进行区分。当系统出现问题时,对日志进行分析的时候能够快速找到日志中的可用信息,而不会因为生产和测试的日志混合而导致排查问题难度的增大。同时压测时产生的日志较大,如果不进行隔离可能会导致日志系统出现问题,也可能会导致磁盘等硬件资源不足等问题。

三、监控隔离能力

指在生产环境中对正式用户的流量和压测的流量进行区分和隔离。该能力主要针对业务链路方面的监控。目的是在压测过程中,在出现性能问题的时候能够准确定位是哪个流程导致的。如果是生产流量则需要快速应急处理,如果是测试流量,则可进行相应的问题分析,不同情况下的处理方式也不相同。

如果无法建设这几个方面的能力,就无法开展生产读写业务的全链路压测工作。

生产读写业务全链路压测及容量评估阶段主要包括以下几方面内容:

业务系统全链路下的用户场景在生产环境的性能表现;

业务系统全链路下的用户场景在生产环境的容量支持情况;

验证生产环境上系统的监控能力、风控能力。

与生产只读业务压测及容量评估阶段相比,此阶段的内容更多、范围更广。从该阶段的内容来看,它对第三阶段的场景进行了补充,完善了整个业务系统在生产环境上的性能情况以及健壮性情况。

对生产读写业务全链路压测及容量评估阶段的开展,除了有生产只读业务压测及容量评估阶段提及的相关影响因素外,还包括如下因素:

完整业务场景在生产环境下的性能测试过程;

除只读业务外,还包括其他相关业务以及完整业务场景,对其系统在生产可靠性方面进行测试验证。

本阶段主要是在生产环境中进行完整业务场景的全链路压测。

在理论规范方面,需要设计更完善严谨的生产过程的全链路压测方案,以及进行生产压测之前的众多准备工作。

所有压测场景的准备工作首先需要在测试环境中验证,验证成功后在生产环境中具体实施。

在工具平台方面,不仅需要具备第三阶段的能力,还需要具备数据库隔离、探针流量透传等多方面的能力。

在组织文化方面,要求团队人员具备一定的开发基础,比如熟悉开发框架等。

生产环境压测读写业务容量评估需要注意事项?

在生产环境中对读写业务进行容量评估时需要特别小心,因为这涉及到真实的数据操作,可能会对业务连续性和数据完整性产生影响。以下是一些关键注意事项:

1. 风险评估与审批

在开始之前进行全面的风险评估。

获取所有相关方的批准,包括业务、开发、运维和安全团队。

2. 选择合适的时间窗口

选择业务低峰期进行测试,以减少对用户的影响。

避免在重要事件或促销活动期间进行测试。

3. 备份与恢复计划

确保有完整的数据备份,并且备份是最新的。

准备详细的灾难恢复计划,以便在出现问题时能够快速恢复。

4. 监控与日志记录

增强监控系统,确保能够实时检测到性能下降或其他异常情况。

记录所有重要的指标变化,为后续分析提供数据支持。

5. 逐步增加负载

从较小的负载开始,逐渐增加,观察系统的响应。

通过这种方式可以发现潜在的瓶颈并避免一次性加载过重导致系统崩溃。

6. 资源准备

确认服务器配置是否足够支持预期的负载量。

如果有必要,提前进行硬件升级或云资源扩展。

7. 测试环境尽量接近生产环境

尽可能地使测试环境与生产环境保持一致,包括硬件、软件版本以及网络条件等。

这有助于提高测试结果的准确性和可靠性。

8. 制定应急措施

制定明确的应急计划,包括如何立即停止测试、如何回滚更改以及如何处理紧急故障。

确保所有参与者都清楚应急流程。

9. 关注用户体验

即便是在后台运行的压力测试,也要密切注意前端用户的体验。

可以通过设置KPIs来衡量用户体验的变化。

10. 合法性与合规性考量

确保所有的测试活动符合相关的法律法规要求。

特别要注意涉及个人隐私信息的操作。

11. 数据隔离

使用专门的测试数据库或者创建隔离的数据集,防止测试数据污染生产数据。

如果必须使用生产数据,请确保已经进行了适当的数据脱敏处理。

12. 沟通与透明度

与所有利益相关者保持开放的沟通渠道,及时更新测试进展及结果。

对于任何意外情况,应及时通报并采取相应措施。

遵循这些指南可以帮助您更安全有效地完成生产环境下的读写业务容量评估工作。

阅读后若有收获,您的关注,分享,留言评论我都喜欢!!!

相关推荐

Dubai's AI Boom Lures Global Tech as Emirate Reinvents Itself as Middle East's Silicon Gateway

AI-generatedimageAsianFin--Dubaiisrapidlytransformingitselffromadesertoilhubintoaglob...

OpenAI Releases o3-pro, Cuts o3 Prices by 80% as Deal with Google Cloud Reported to Make for Compute Needs

TMTPOST--OpenAIisescalatingthepricewarinlargelanguagemodel(LLM)whileseekingpartnershi...

黄仁勋说AI Agent才是未来!但究竟有些啥影响?

,抓住风口(iOS用户请用电脑端打开小程序)本期要点:详解2025年大热点你好,我是王煜全,这里是王煜全要闻评论。最近,有个词被各个科技大佬反复提及——AIAgent,智能体。黄仁勋在CES展的发布...

商城微服务项目组件搭建(五)——Kafka、Tomcat等安装部署

1、本文属于mini商城系列文档的第0章,由于篇幅原因,这篇文章拆成了6部分,本文属于第5部分2、mini商城项目详细文档及代码见CSDN:https://blog.csdn.net/Eclipse_...

Python+Appium环境搭建与自动化教程

以下是保姆级教程,手把手教你搭建Python+Appium环境并实现简单的APP自动化测试:一、环境搭建(Windows系统)1.安装Python访问Python官网下载最新版(建议...

零配置入门:用VSCode写Java代码的正确姿

一、环境准备:安装JDK,让电脑“听懂”Java目标:安装Java开发工具包(JDK),配置环境变量下载JDKJava程序需要JDK(JavaDevelopmentKit)才能运行和编译。以下是两...

Mycat的搭建以及配置与启动(mycat2)

1、首先开启服务器相关端口firewall-cmd--permanent--add-port=9066/tcpfirewall-cmd--permanent--add-port=80...

kubernetes 部署mysql应用(k8s mysql部署)

这边仅用于测试环境,一般生产环境mysql不建议使用容器部署。这里假设安装mysql版本为mysql8.0.33一、创建MySQL配置(ConfigMap)#mysql-config.yaml...

Spring Data Jpa 介绍和详细入门案例搭建

1.SpringDataJPA的概念在介绍SpringDataJPA的时候,我们首先认识下Hibernate。Hibernate是数据访问解决技术的绝对霸主,使用O/R映射(Object-Re...

量子点格棋上线!“天衍”邀您执子入局

你是否能在策略上战胜量子智能?这不仅是一场博弈更是一次量子智力的较量——量子点格棋正式上线!试试你能否赢下这场量子智局!游戏玩法详解一笔一画间的策略博弈游戏目标:封闭格子、争夺领地点格棋的基本目标是利...

美国将与阿联酋合作建立海外最大的人工智能数据中心

当地时间5月15日,美国白宫宣布与阿联酋合作建立人工智能数据中心园区,据称这是美国以外最大的人工智能园区。阿布扎比政府支持的阿联酋公司G42及多家美国公司将在阿布扎比合作建造容量为5GW的数据中心,占...

盘后股价大涨近8%!甲骨文的业绩及指引超预期?

近期,美股的AI概念股迎来了一波上升行情,微软(MSFT.US)频创新高,英伟达(NVDA.US)、台积电(TSM.US)、博通(AVGO.US)、甲骨文(ORCL.US)等多股亦出现显著上涨。而从基...

甲骨文预计新财年云基础设施营收将涨超70%,盘后一度涨8% | 财报见闻

甲骨文(Oracle)周三盘后公布财报显示,该公司第四财季业绩超预期,虽然云基建略微逊于预期,但管理层预计2026财年云基础设施营收预计将增长超过70%,同时资本支出继上年猛增三倍后,新财年将继续增至...

Springboot数据访问(整合MongoDB)

SpringBoot整合MongoDB基本概念MongoDB与我们之前熟知的关系型数据库(MySQL、Oracle)不同,MongoDB是一个文档数据库,它具有所需的可伸缩性和灵活性,以及所需的查询和...

Linux环境下,Jmeter压力测试的搭建及报错解决方法

概述  Jmeter最早是为了测试Tomcat的前身JServ的执行效率而诞生的。到目前为止,它的最新版本是5.3,其测试能力也不再仅仅只局限于对于Web服务器的测试,而是涵盖了数据库、JM...

取消回复欢迎 发表评论: