AWS的性能检测服务X-Ray(APM)

发展之势:
随便最几年微服务和Serverless(Lambda)的盛行,把原来一套系统可以按业务,人员或业务架构拆分得更加详细,让开发人员更专注于自己负责微服务或Serverless模块,同时利用DevOps管理流程,这样可以提升业务的快速迭代。虽然微服务或Serverless确实是可以提升业务的持续服务和可靠性,但是业务复杂度,管理难度和管理成本随之提升,如何做好业务故障排查,特别是性能和稳定是很多企业开发及运维团队所关心的,AWS为此提供一项易用且可视化的服务X-Ray,借助 AWS X-Ray,开发人员能够轻松分析其生产行为及具有端到端跟踪功能的分布式应用程序。您可以使用 X-Ray 确定性能瓶颈、边缘情况错误以及其他难于检测的问题。X-Ray 支持各种类型或大小的开发或生产应用程序,从简单的异步事件调用和三层 Web 应用程序到使用微服务架构构建的复杂的分布式应用程序。这让开发人员能够快速找到并解决其应用程序中出现的问题,并改善最终用户对其应用程序的体验。

功能介绍:
X-Ray是可以很好的与AWS近几年特别流行的技术(ECS/Lambda等)集成,尤其是未来有可能成为主流技术的Lambda,它可以提供数据跟踪,数据轨迹采集与性能分析等可视化技术服务。以下我们来介绍现在及未来都比较常用的API化的应用,API化采用基础技术就是Lambda,而优化Lambda和业务代码的工具服务是X-Ray,我们通过一个例子来说明X-Ray如何帮助开发与运维团队提升业务体验。

1)X-Ray对Python for Lambda的请求分析
AWS Lambda 上的 Python – 对 Lambda 函数配置启用 X-Ray 以分析传入请求。添加X-Ray SDK for Python以分析 AWS 开发工具包、HTTP 和 SQL 客户端。

有多个 AWS 服务提供 X-Ray 集成。集成服务提供不同级别的集成,可以包括采样和向传入请求添加标头、运行 X-Ray 守护程序以及自动将跟踪数据发送到 X-Ray。
? 主动分析 – 采样和分析传入请求。

? 被动分析 – 分析已经由其他服务采样的请求。

? 请求跟踪 – 对所有传入请求添加一个跟踪标头,并将其向下游传播。

? 工具 – 运行 X-Ray 守护程序以从 X-Ray 开发工具包接收分段。

业务例子配置:
1)API化的业务架构图:

? 使用 AWS X-Ray 检测无服务架构工作流程中的响应瓶颈,将其运行时间提高了70%。
? 使用 X-Ray 的日志聚合器和可视化视图发现执行时间较长的 lambda ,使用 X-Ray 的明细功能,检查该 lambda 的 CloudWatch 日志。

2)配置X-Ray
在 AWS Lambda 函数上配置 X-Ray 集成

  1. 打开 AWS Lambda 控制台
  2. 选择您的函数
  3. 选择 Configuration,在调试和错误处理下,选择启用活动跟踪
  4. 切换到 X-Ray 的可视化仪表盘
  5. 条件筛选
  6. 问题定位

    从上图可以看出: lambda 自身的业务功能较复杂调用频率过高;lambda 读取数据库的延时过高。
  7. 重写 lambda 并优化数据库后,使用 X-Ray 服务映射来跟踪并验证更新是否得到期望的性能提升

    从以上例子可以看出,X-Ray是一个很不错的服务,可以帮助开发及运维团队节约大量的业务排障时间,快速提升业务体验。

【关于博思云为】

作为一家专业的云计算服务型企业,博思云为专为客户提供 AWS 上的运营服务:包括架构咨询服务、迁移服务、云安全集成服务、混合云管理服务、大数据服务以及 DevOps 服务。目前,博思云为在大数据、DevOps、架构、数据库以及操作系统等都已取得厂商认证,在上海、南京、杭州、武汉等地设有分公司。为创新服务模式、引领 IT 服务业的发展,博思云为将持续投入资源开展智能混合云管理平台、图数据库的研发等。

原文地址:https://blog.51cto.com/703356/2392917

时间: 2024-10-11 13:26:21

AWS的性能检测服务X-Ray(APM)的相关文章

多语言应用性能监控系统:Elastic APM

? 概述 Elastic APM 是基于 Elastic Stack 构建的应用性能监控系统.通过 Elastic APM 可以监控应用程序,收集有关请求的响应时间.数据库查询.高速缓存调用.外部 HTTP 请求等的详细性能信息,这样可以更快地查明并修复性能问题. Elastic APM 还会自动收集未处理的错误和异常,错误主要基于堆栈跟踪进行分组,因此可以识别出现的新错误,并密切关注特定错误发生的次数. ? APM 组件 Elastic APM 包含四个组件: APM agent APM ag

微服务、分库分表、分布式事务管理、APM链路跟踪性能分析演示项目

好多年没发博,最近有时间整理些东西,分享给大家. 所有内容都在github项目liuzhibin-cn/my-demo中,基于SpringBoot,演示Dubbo微服务 + Mycat, Sharding-Proxy分库分表 + Seata分布式事务管理 + ZipKin, SkyWalking, PinPoint性能分析链路跟踪APM工具,有详细文档,可以快速运行 演示项目架构 运行演示项目 package.sh为打包脚本: sh package.sh:最简单运行方式,使用单个MySQL数据库

ASP.NET 性能监控和优化入门

关键要点: 只有与应用指标相关联,基础设施指标才能最大发挥作用. 高效性能优化的关键在于性能数据. 一些APM工具为ASP.NET提供了开箱即用的支持,这样入门使用ASP.NET仅需最小限度的初始设置. 代码分析工具为程序性能给出了最为详尽的视图. 轻量级分析工具给出了网页性能的实时视图,可用在开发环境和生产环境中. “这个网页打开太慢了!”,对Web网站这样的抱怨是经常性的和普遍性的,尤其是自从Web应用开始逐渐替代桌面应用以来.虽然Web带来了全球交付这样的理想特性,但是也在性能层面带来了相

异步模型(APM)的注意事项

一.在没有线程池的前提下使用APM APM可以让线程池在异步操作完成时调用指定的回调方法.它使用很少的资源,并提供了出色的性能,然而,APM 还允许通过另外三种方式发现异步操作在何时完成. 首先,如果一个线程在操作完成之前调用 EndXXX 方法,并传递 IAsyncResult 对象,调用线程会阻塞并等待操作完成.EndXXX 返回的结果会将线程唤醒.其次可以查询 IAsyncResult 的AsyncwaitHandle属性,从而得到一个WaitHandle,再在这个 WaitHandle

全球顶级应用性能监控管理服务商分析

  在过去几年里,APM一改传统服务于大型企业的昂贵.复杂.耗费大量时间的IT管理部署方式,以低廉的价格.先试后买的灵活消费方式.以及不依赖专业销售和服务人员的SaaS交付模式,为各路服务商赢得了大量用户.基于此,我们对行业中几家领军企业的市场和竞争策略进行全面剖析. 在<2014年全球应用性能管理市场份额分析>一文中我们提到,新兴APM服务商在2014年的业绩表现远超传统服务商,接下来,我们看看APM业绩排行前五,占据43.4%市场份额,平均增速达到16.1%的APM企业和Newrelic等

程序员也会营销——《增长黑客:创业公司的用户与收入增长秘籍》

就像<人人都是产品经理>这本书让所有人都用"产品经理"来称呼需求分析师这个岗位一样,<增长黑客>也让越来越多的人相信营销有个更有GEEK范的名字叫"增长黑客". 传统营销,整天像骆驼一样在烈日和暴雨下(看懂双关的传统营销流下了泪水)的街头拦住路人:"帅哥美女,下载APP送充电宝"或者在各大BBS刷"我曾是个diao丝,下载了APP才变成了高富帅"的软文,然而连5%的转化率都达不到. 然而广大营销朋友们的

读书笔记—CLR via C#线程25-26章节

前言 这本书这几年零零散散读过两三遍了,作为经典书籍,应该重复读反复读,既然我现在开始写博了,我也准备把以前觉得经典的好书重读细读一遍,并且将笔记整理到博客中,好记性不如烂笔头,同时也在写的过程中也可以加深自己理解的深度,当然同时也和技术社区的朋友们共享 线程 线程内部组成 线程内核对象 thread kernel object,在该结构中,包含一组对线程进行描述的属性.数据结构中还包括所谓的线程上下文thread context.上下文是一个内存块,包含了CPU的寄存器集合,占用几百到几千个字

监控系统性能利器--DT

一.背景 每次分析用户访谈的结果,用户对性能总是不满意.软件开发商不遗余力投入资源来提升系统性能,是乎没收到预期的效果.客户想了解整个系统用户的访问情况,而我们只能给出单个功能优化功能前后的效果,达不到用户期望. 二.提升用户性能体验面临的问题      1. 用户使用体验的问题:无法将用户的感知量化.可视化的呈现.缺乏用户行为的记录,用户投诉以后,很难还原问题的现场.      2. 运维人员面临的问题:不能确切知道整个链路出了问题,调整可能涉及到多个部门,现在的监控只是单点的监控,没有确保整

数据路由,你造吗?

云智慧(北京)科技有限公司柳东浩 最近互联网都涨思维了,移动互联网更是得瑟地不行,在风口上嗷嗷地飘,PE/VC没事儿就就往那儿蹭,而那物流网的天儿还刚蒙蒙亮,这就是我们这些攻城狮所处的有点儿雾霾的时代.这年头攻城狮总有不寐的夜,为啥纠结呢?还不是让数据给闹的.这里一篇小文只是一盘关于数据的小菜,一款关于数据的管弦谱,怎么演奏,那得看自己,看情况,不解决啥实质问题,该闹还得闹,该纠结还得纠结,谁让你拱呢. 说俩词儿 数据库:就叫D吧,就是你可以把东西放D那儿,回头儿你还可以从D把东西拿出来.跟火车