首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏老张的求知思考世界

    压测(4):压测的价值是什么?

    在开始真正的介绍落地实践过程以及相关案例之前,我想和大家聊聊,我对压测的一些认知,即:压测在技术团队中的定位,以及它的价值是什么。 业务和技术是什么关系? 压测对稳定性保障的价值 聊了这么多,回到文章顶部,我所要表达的内容,压测的价值是什么? 通过生产压测,可以串联稳定性保障的流程,解决线上系统稳定性保障面临的种种挑战,它所带来的价值如下: 总结回顾 这篇文章介绍了我对技术和业务关系的理解,线上稳定性保障面临的挑战以及压测在其中的价值 ,通过前面的几篇文章,从认识压测到项目立项以及技术调研和测试验证,我试图从另一个视角来为大家揭秘压测的另一面。 下篇文章,我会为大家介绍,压测落地实践的整体流程。

    1.6K20编辑于 2022-01-25
  • 来自专栏老张的求知思考世界

    压测(1):认识压测

    前言 之前断断续续写过一些压测相关的技术文章,很多同学评价还不错。朋友建议我写个系列,基于自己的落地实践经验,对压测做个系统性的梳理总结。 定义:如何理解压测 PS:这里的定义是我基于自己对生产压测的了解和实践总结得来的,仅代表个人观点。 1、什么是压测? 4、性能定位分析 压测是在生产环境进行,压测过程中,除了要防止数据污染,完善的监控体系和实时的可视化追踪也是很重要的一点。 流程:生产压测落地实践 生产压测的整个流程,大致可分为三个环节,每个环节的主要事项如下: 能力建设:生产压测能力演变历程 生产压测的本质是能力建设的技术工程,不是一蹴而就。 4、生产只读业务压测 只读场景相对来说技术难度没那么大,可以通过这个阶段来做到技术练兵。 5、生产流量数据隔离能力 上面提到了数据安全隔离,这也是生产压测最大的一个技术挑战。

    3.6K30发布于 2021-10-14
  • 来自专栏前端开发的「术」

    基于 log4js 做日志

    背景 提到监控或应用观测,经常出现三个词:「(Tracing)」、「指标(Metric)」和「日志(Logging)」。 所以什么是日志呢? 实现 以 koa HTTP Server 为例,基于 log4js 实现服务端日志搜集。 总结 日志是问题定位的利器,不仅如此,结构化的日志还能聚合有价值的指标,比如成功率、耗时分布、甚至 DAU、区域分布(根据 ip)等。 借助 log4js 记录日志,业务代码侵入小,并且保持了熟悉的打 log 方式。 ,如此形成一条「网络调用」,就像函数的调用栈一样。 并且现在已有开源工具,可以把日志可视化为调用栈,比如Jaeger: image.png

    3K21编辑于 2022-01-20
  • 来自专栏老张的求知思考世界

    压测(14):生产压测SOP

    ——来自百度百科 本篇文章要说的压测SOP,实际上就是我在实践压测的过程中,对实践经验和教训的一个总结。 压测(1):认识压测 压测(2):方案调研和项目立项 压测(3):技术改造和测试验证 压测(4):压测的价值是什么? 压测(5):生产压测实施流程 压测(6):确认范围和识别风险 压测(7):核心四问 压测(8):构建三大模型 压测(9):容量评估和容量规划 压测(10) :测试要做的准备工作 压测(11):聊聊稳定性预案 压测(12):生产压测必不可少的环节 压测(13):高可用和性能优化 再加上本篇的生产压测SOP思维导图,就是整个系列的内容。 最后,重申一下我对压测的部分认知: 压测是一个技术工程,而非单纯的测试手段; 压测只适用于部分企业和业务类型,而非一个银弹; 压测的落地并非一蹴而就,需要较好的技术基础设施建设做保障

    1K10编辑于 2022-09-02
  • 来自专栏老张的求知思考世界

    压测(5):生产压测实施流程

    前言 前面的几篇文章从生产压测的定义,内部立项和技术调研,聊到了测试验证以及压测的对企业业务和技术团队的价值,算是整体上的构建一个认知的概念。 从这篇文章开始,会进入具体的落地实践环节。 这篇文章中,我会介绍生产压测的落地实施流程,即每个环节要做什么事情。 四大阶段 如果将生产压测作为一个阶段性的技术项目来看,压测从开始到项目结束,需要经过四个阶段。 整体的实施流程图如下所示: 接下来我来为大家解密,生产压测落地实施,在不同的阶段都会做哪些事情。 筹备阶段 确定业务范围 一般来说线上实施线上压测之前,要明确本次压测需要验证的业务范围。 核心业务定义 出问题会影响其他业务; 流量较高且出现问题会影响整体业务目标的达成; 核心项目定义 前面提到了生产压测是个复杂的技术项目,那么如何定义这种技术项目呢?

    2K40编辑于 2022-04-01
  • 来自专栏D·技术专栏

    EagleEye追踪

    RpcID RPCId用调用顺序来递增。 阿里云相似产品:Tracing Analysis 效果图: ? image.png

    4K10发布于 2020-02-13
  • 来自专栏OSChina

    跟踪zipkin

    --跟踪 sleuth zipkin --> <dependency> <groupId>org.springframework.cloud</groupId

    78620发布于 2020-04-24
  • 来自专栏Java学习录

    Zipkin监控

    Zipkin是SpringCloud官方推荐的一款分布式监控的组件,使用它我们可以得知每一个请求所经过的节点以及耗时等信息,并且它对代码无任何侵入,我们先来看一下Zipkin给我们提供的UI界面都是提供了哪些信息 zipkin首页为我们提供了对于调用的搜索查询及展示的功能 ? 第二个选项卡里提供了历史数据的导入功能 ? 第三个选项卡里展示了各个微服务之间的关系 ? 我们再次回到首页,我们点开一个调用之后就会看到此次调用的详情 ? 现在我们点开详情中的一个service,可以看到此次调用在这个微服务中的详细信息。 ?

    3.7K00发布于 2019-04-18
  • 来自专栏vivo互联网技术

    Node.js 应用追踪技术——信息存储

    作者:vivo 互联网前端团队- Yang Kun本文是上篇文章《Node.js 应用追踪技术——信息获取》的后续。阅读完,再来看本文,效果会更佳哦。 本文主要介绍在Node.js应用中, 如何用信息存储技术把追踪数据存储起来,并进行相应的展示,最终实现基于业界通用 OpenTracing 标准的 Zipkin 的 Node.js 方案。 2.2 zipkin 架构官方文档上的架构如下图所示:为了更好的理解,我这边对架构图进行了简化,简化架构图如下所示:从上图可以看到,分为三个部分:第一部分:信息获取,我们不使用 zipkin 自带的信息获取 ,我们使用 zone-context 去获取信息第二部分:传输层, 使用 zipkin 提供的传输 api ,将信息传递给 zipkin第三部分: zipkin 核心功能,各个模块介绍如下: 三、Node.js 接入 zipkin3.1 搞定信息获取这个我在 《Node.js 应用追踪技术——信息获取》 文章中,已经详细阐述了,如何去获取信息。

    1.2K50编辑于 2023-02-06
  • 来自专栏漫谈测试

    生产环境性能测试体系建设之路(4

    生产环境性能测试体系建设之路主要包括生产测试流程规范建设、生产测试工具平台建设、生产测试实施团队建设、落地实施细则。 生产环境测试实施落地实施细则一、生产测试项目实施“六步“细节第一步,核心调研。本步主要目的是识别测试的核心,构造真实场景模型。 根据实际业务情况,通过Charles工具获得核心交易主接口,根据接口详情初步理涉及的业务应用服务。 此步骤涉及细节项包括核心接口的机理,识别每个接口的核心调用路上的远程调用、数据库调用、缓存调用、队列调用等信息,在压测平台完成所有远程调用白名单、影子库、影子级存、影子队列等配置,并通过数据库在源库和影子库的落库情况确定影子流量业务功能的完整性和中间件改造的兼容性 在测试实施阶段,若被测服务是Java服务,则可以使用平台探针,利用平台做监控和测试;若非Java服务,则利用内部的监控平台,做数据汇总。在结果产出阶段,对测试结果进行汇报和解读。

    49710编辑于 2024-12-15
  • 来自专栏老张的求知思考世界

    压测(7):核心四问

    前言 前面的文章介绍了压测的落地实施流程,其中有个环节我特别提到了它的重要性,同时这也是本篇文章的主题:核心梳理。那什么是核心?为什么要确定核心?如何进行核心梳理? 梳理核心的目的又是什么?这篇文章,我会给你答案。 什么是核心? 之前在一些线下沙龙分享或者线上直播时候,很多同学都会问我一个问题:什么是核心?好像这个词有种魔法,很难让人去理解。 这么说比较拗口,再直白一些就是:哪些接口会影响用户下单支付,哪些就是核心。 下面附一个常见的电商企业核心流程图,供大家参考。 为什么要确定核心? 流量模型 我在前面的文章《生产压测实施流程》中有提高转化技术指标的一个案例,这里再次回顾下: 客单价为500,单日GMV为10亿,那么支付订单量为10亿/500=200W; 假设日常支付订单量为 文末回顾 这篇文章主要聊了压测在备战阶段最重要的一件事,核心梳理。其中提到了流量模型相关的内容,下篇文章,我会以压测过程中需要梳理的三大模型为主题,为大家介绍它们。

    1.9K21编辑于 2022-04-01
  • 来自专栏肉眼品世界

    轻松玩转监控

    什么是监控? ,为监控提供了理论指导。 OpenTracing 抽象出一套与编程语言以及业务逻辑无关的接口,对追踪领域各类元素的统一管理,从而实现完整的监控。 我们只需要知道,优秀的监控组件会尽可能的遵循 OpenTracing 标准,以获得更好的通用性以及扩展性。 可选方案 ---- 监控组件如何获得相关的信息呢? 构建多语言监控体系 ---- 除了Java语言外,ARMS还提供了PHP探针,PHP应用接入ARMS后,能够拥有和Java应用同样的监控体验。

    1.9K11发布于 2020-12-07
  • 来自专栏老张的求知思考世界

    再谈压测

    面临的挑战 除了上面所说的技术层面的问题,要开展压测,还面临如下的几点挑战: ①、由于压测涉及的系统及场景较多,因此需要跨团队沟通、跨系统协调改造,公司体量 越大,这一点难度就越大; ②、压测涉及的系统较多 不过压测的优点也很明显,比如:优化联络薄弱环节可以提高系统的可用性,容量规划可 以节省成本,提高效率。 开展前的准备工作 在开展压测之前,我们需要做哪些准备工作? 因此需要通过监控分析等手段,得到日常流量场 景、峰值流量场景下各系统的流量以及配比,进行一定的放大,来作为压测的流量参考模 型; ④、数据处理:压测通常在生产环境进行,所以防止数据污染是必须考虑的问题 要开展压测,那么一个合理高效可用的压测管理平台,是很有必要的,参考了很多 压测的设计思路,我个人的想法中压测平台的架构设计,主要由以下几部分组成: ①、Controller:主要任务为压测任务分配 具体的架 构设计图,可参考京东的军演系统ForceBot的架构设计,如下图: ? 完成了上面的工作,接下来就可以开展压测的工作了。

    90610发布于 2019-12-02
  • 来自专栏测试开发架构之路

    测试不是银弹

    何为测试? 个人认为,可以分为业务和调用,调用主要指从请求发起方到结果返回所途径各种服务/中间件产生的路径,可以理解为单系统下的某一功能模块。 而业务则是多个业务关联的场景组合产生的调用集合,例如淘宝添加购物车->提交订单->支付这个场景,所以必然包含多个业务关联场景涉及的调用下自动化成本更高,因为用例涉及到多域的流程编排,处理服务间各种异常重试情况(超时、网络异常), 各域的输出断言,这无疑大大增加一条用例开发成本。 综上,我们要正确看待测试,不能迷信于测试,觉得测试通过就没啥问题了。 要知道,测试更多从业务角度出发,不能覆盖所有潜在异常场景,二者可以相辅相成,但对于日常自动化回归,我认为做好域内测试自动化才是底盘,自动化没什么必要!

    56930编辑于 2022-08-01
  • 来自专栏CodeGuide | 程序员编码指南

    基于JavaAgent的监控五《ThreadLocal追踪》

    》,这篇文章是业内实现追踪的标杆和理论基础,具有非常大的参考价值。 目前,追踪组件有Google的Dapper,Twitter 的Zipkin,以及阿里的Eagleeye (鹰眼)等,它们都是非常优秀的追踪开源组件。 追踪(Dapper) 当业务程序代码在线上运行时,实例A、实例B、实例C,他们直接可能从上到下依次调用,为了能很好的监控程序的调用,我们需要对调用进行追踪监控。 -4cf6-8d80-5362dd7ea140 org.itstack.demo.test.ApiTest.http_lt1 测试结果:hi1 追踪:69cdf9d3-1f42-4cf6-8d80- 5362dd7ea140 org.itstack.demo.test.ApiTest.http_lt2 测试结果:hi2 追踪:69cdf9d3-1f42-4cf6-8d80-5362dd7ea140

    2.7K20发布于 2020-07-14
  • 来自专栏爱可生开源社区

    一文搞懂 OceanBase 4.x 追踪

    OceanBase 首届 AI 黑客松等你来战 文章大纲 什么是追踪? 追踪的工作原理 追踪信息如何展现? 常见相关问题解答 1. 什么是追踪? 为了提高诊断效率,OceanBase 4.x 版本新增了追踪功能[1]。 2.2 追踪流程 在中,不同的请求有对应的请求查询 然后点击 Trace ID(00063163-37d4-f603-0855-157d240f1083),就可以看到 SQL 的耗时信息(本示例中,耗时主要在 sql_execute 的子 当业务反馈应用访问 OceanBase 慢,这时我们可以借助 OceanBase 4.x 追踪功能,来快速定位具体慢在哪,并可以给出在每个阶段的耗时信息。

    65010编辑于 2025-04-16
  • 来自专栏GPUS开发者

    英伟达栈工具如何重构Groot机器人开发4

    接之前内容: 英伟达栈工具如何重构Groot机器人开发(一) 英伟达栈工具如何重构Groot机器人开发(2) 英伟达栈工具如何重构Groot机器人开发(3) 如老黄所提及的,

    40400编辑于 2025-04-01
  • 来自专栏架构之家

    SLF4J MDC在跟踪中的应用

    SLF4J的MDC SLF4J 提供了MDC ( Mapped Diagnostic Contexts )功能,它的实现也是利用了 ThreadLocal 机制。 例如以下受log4j2.xml模板: <Pattern>%d %p [%c] [%X{key1},%X{key2}]- %m%n</Pattern> 在日志模板log4j2.xml中,使用 %X{} 来占位 MDC在跟踪中的应用 在跟踪框架中,其实扩展MDC很简单,只需在log span的before方法中塞入traceId与spanId,在after方法中进行清理逻辑即可。 MDC.put(TraceKeys.SPAN_ID, currentSpan.getParentId()); //此处需要塞回parent span的spanId } } 那么在log4j2 这也是个老生常谈的问题了,由于我们的跟踪框架已经使用Transmittable ThreadLocal改造过了,见调用跨线程传递THREADLOCAL对象,所以在异步线程中也是同样能获得的MDC

    1.1K20编辑于 2022-07-12
  • 来自专栏飞鸟的专栏

    使用Zuul实现追踪

    除此之外,Zuul还提供了追踪的功能,通过在请求头中添加相关信息,可以跟踪一个请求从发起到响应的整个过程,帮助我们定位问题。 实现原理 在Zuul中实现追踪需要用到Sleuth和Zipkin,Sleuth是Spring Cloud提供的用于生成和管理Trace Id的工具,而Zipkin是一个分布式跟踪系统,用于收集和查询 tracing表示开启追踪功能,sleuth表示使用Sleuth进行Trace Id的生成和管理,web表示启用Web的相关配置,client表示启用Zuul作为客户端的相关配置。

    95420编辑于 2023-04-10
  • 来自专栏用户6296428的专栏

    有赞追踪实践

    追踪系统就是为了解决微服务场景下的这些问题而诞生的。 一般在的入口应用中生成traceId和spanId,在后续的各节点调用中,traceId保持不变并路透传,各节点只产生自己的新的spanId。 六、总结与展望 追踪系统包含几大部分:采集SDK、数据处理服务、用户产品。SDK部分比较偏技术。 用户产品主要考验的是设计者对用户需求的把握,追踪可以做很多事情,产品上可以堆叠出很多功能,怎样能让用户快速上手,简洁而又易用是追踪产品设计的一大挑战。 未来一段时间,有赞追踪会围绕以下几个方面继续演进: 赋能有赞云:给有赞云开发者用户提供有容器应用的追踪能力; 开源协议支持:数据模型与追踪API迁移到OpenTracing协议上,支持更多新语言的快速追踪

    1.4K30发布于 2020-08-24
领券