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

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

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

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

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

一、数据隔离能力

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

二、日志隔离能力

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

三、监控隔离能力

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. 风险评估与审批

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

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

2. 选择合适的时间窗口

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

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

3. 备份与恢复计划

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

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

4. 监控与日志记录

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

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

5. 逐步增加负载

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

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

6. 资源准备

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

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

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

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

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

8. 制定应急措施

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

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

9. 关注用户体验

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

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

10. 合法性与合规性考量

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

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

11. 数据隔离

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

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

12. 沟通与透明度

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

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

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

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

相关推荐

几种 TCP 连接中出现 RST 的情况

现在是一个网络时代了。应该不少程序员在编程中需要考虑多机、局域网、广域网的各种问题。所以网络知识也是避免不了学习的。而且笔者一直觉得TCP/IP网络知识在一个程序员知识体系中必需占有一席之地的。在...

Redis连接使用报RDB error错误

该错误信息:Errorinexecution;nestedexceptionisio.lettuce.core.RedisCommandExecutionException:MISC...

lua 语法介绍与 NGINX lua 高级用法实战操作

一、概述lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。官网:https://www.lua.org/二、l...

Python教程——20.协程 - 2

异步编程asyncio.Future对象Task继承Future,Task对象内部中的await结果的处理基于Future对象来的在Future对象中会保存当前执行的这个协程任务的状态,如果当...

“我的足迹”、“浏览历史”,Redis如何快速记录与展示?

咱们在网上“买买买”、“逛逛逛”的时候,总会留下各种各样的“足迹”。无论是电商APP里你最近浏览过的商品,视频网站上你刚刚看过的剧集,还是新闻客户端里你点开过的文章……这些“历史记录”,有时候还真挺有...

你手机上的“消息推送”,Redis可能参与其中

手机上那些时不时就“叮咚”一下的消息推送,确实是咱们数字生活里不可或缺的一部分。这篇咱们就来聊聊,Redis这位“消息灵通人士”,是如何在这场“信息接力赛”中大显身手,确保那些重要的、有趣的通知,能够...

短视频APP的“附近的人”,Redis如何快速匹配?

刷短视频,除了看各种搞笑段子、才艺展示,有时候是不是也想看看“同城”或者“附近”的人都在发些啥有意思的内容?或者,平台也会时不时地给你推荐一些“附近正在直播”的主播,让你感觉一下子拉近了和这个虚拟世界...

微信朋友圈的点赞、评论,Redis在背后默默付出

微信朋友圈,这片小小的“自留地”,承载了我们多少喜怒哀乐、生活点滴啊!一张精心修饰的照片,一段随感而发的文字,发出去之后,最期待的是什么?那必须是屏幕下方不断冒出来的小红心和一条条真诚(或者商业互吹)...

网站登录老是掉线?Redis帮你记住你是谁!

有没有过这样的糟心体验?你好不容易登录了一个网站,刚看了两篇帖子,或者购物车里刚加了几件宝贝,结果一刷新页面,或者稍微离开了一会儿,回来就发现——“哎?我怎么又退出了?!”又得重新输入用户名、密码、...

你常用的APP,哪些地方可能用到了Redis?(猜想与分析)

咱们现在的生活,简直是离不开各种各样的手机APP了!从早上睁眼刷新闻,到中午点外卖,再到晚上刷短视频、玩游戏,一天到头,指尖在屏幕上就没停过。这些APP为了让我们用得爽、用得顺心,背后可是使出了浑身解...

Redis是啥?为啥程序员天天挂嘴边?小白也能看懂!

这Redis到底是何方神圣?为啥那些天天在电脑前敲代码的程序员小哥哥小姐姐们,老是把它挂在嘴边,好像离了它地球都不转了似的?别担心,咱们今天不说那些听了就头大的代码和术语,就用大白话,保证你听完一拍大...

面试官:请你说说Redis为什么这么快?

1)Redis是基于内存的存储数据库,绝大部分的命令处理只是纯粹的内存操作,内存的读写速度非常快。2)Redis是单进程线程的服务(实际上一个正在运行的RedisServer肯定不止一个线程,但只有...

有了强大的关系型数据库,为什么还需要Redis?

在数字世界的浩瀚海洋中,关系型数据库,例如我们熟知的MySQL、PostgreSQL或Oracle,无疑是那些承载着核心业务数据、坚如磐石的“国家图书馆”或“银行金库”。它们以严谨的结构、强大的事务处...

Java 中间件数据可靠性串讲:从 MQ 、MySQL、Redis 不丢失的保障之道

引言在现代分布式系统中,中间件扮演着至关重要的角色,它们是构建高可用、高性能、高可扩展应用架构的基石。消息队列(MQ)、数据库(如MySQL)、缓存(如Redis)等是其中最具代表性的组件。然而,...

运维部署方式之——虚机部署

标准化使用作業系统:LinuxCentOS7自动化方式通过Ansible系统初始化playbook来管理。目的系统初始化工作是一个简单、繁复的工作,从云网得到的虚拟主机只是一个基础的系统环境,...

取消回复欢迎 发表评论: