数字化时代,如何做好用户体验与应用性能管理​

引言

随着数字化时代的到来,各个行业的应用系统从传统私有化部署逐渐转向公有云、行业云、微服务,这种变迁给运维部门和应用部门均带来了较大的挑战。基于当前企业 IT 运维均为多部门负责,且使用多种运维工具,因此,当业务出现问题时很难快速定位故障根源。而随着业务上云,云平台运维和应用运维的责任归属不同,业务方(租户)只负责云平台之上运维,若是要对业务体验全链路负责,就会导致有责任没手段。同时,容器微服务架构应用后的业务之间的访问关系更加复杂,也会产生应用出现故障后分析困难等问题。基于以上的背景,企业数字化时代应用的健康诊断变得至关重要。

问题及挑战

如下图,当代码量的增长达到 100 倍,故障被企业 IT 部门察觉前已由用户申报达到 80% 时,作为企业会非常被动。用户对服务超时非常敏感,当 5 秒打不开应用时便会直接选择放弃。同时,用户对故障解决时效要求也比较高,75% 的用户希望在 5 分钟内解决业务故障,而业务系统需要超过 24 小时才能解决的故障占比在 25% 左右。

应用是一个端到端的多技术栈复杂整合环境,用户端包括移动端、浏览器、小程序,网络层包括路由器、防火墙和负载均衡等,后台支撑应用包括中间件、数据库、主机、MQ 等。所以如何去高效精细化的实现整个应用端到端的全链路性能问题洞察和诊断、快速找到故障的边界、以及特别是 VIP 用户出现性能问题如何快速追踪。这些应用的复杂度是企业运维部门和业务部门都需要考虑的问题。

传统的监控工具早已无法满足当前企业面临的问题。因为一个应用会涉及到数据库、第三方的 API 调用、应用服务器、中间件、Web、网络层等多个链路,因此,当系统慢是无法快速定位就是是拿个环节、组件以及指标导致。日常企业去判断上述问题时,会需要网络团队、开发团队、数据库团队、基础设施团队等多方协助排查,且排查效率较低。

解决方案与功能场景介绍

基于以上问题与挑战,云智慧提供了全新一代架构的应用性能管理解决方案。以提升数字化用户体验,帮助企业实现数字化转型赋能为目标,提供了 web 用户、移动用户、主动拨测、压力测试前端侧性能监控,同时贯穿网络层到后端各个组件的全栈一体化性能监控方案,包含 Web 服务器支持 IIS、Nginx 等。此外,应用后端支持市面上主流的开发语言以及微服务容器架构,基于 Smart Agent 的探针技术,部署在容器宿主机上就可以自动发现容器内部应用拓扑关联关系,实现整体的业务关联快速分析和根因快速诊断。

产品技术架构

下图为产品整体的技术架构,主要是分三层:

  • 数据采集层:APM 产品支持市面上比较主流的开发语言,如 Java、PHP、Python 等。APP 端支持 android 和 iOS 等各种版本。依赖主动拨测,基于全球 IDC 实现 Monitor 数据监测。
  • 数据存储层:采集到的数据统一放到产品的数据存储层进行数据存储。云智慧产品基于列式存储的技术,在各行业项目上经过大量数据实践,可以实现秒级查询和展示。
  • 数据分析与展示层:该层主要提供了具体产品的相关功能。包括拓扑展示,请求分析、用户追踪,代码堆栈详情分析,网页性能分析,页面响应时间分析、可用率分析等相关功能。

整个平台提供告警通知功能及标准 API 接口,方便用户其他业务系统调用数据进行应用。接下来,我们主要围绕 APM 和拨测两款产品的应用场景进行整体阐述。

监控宝:7*24 小时主动 IT 性能监控

云智慧拨测产品监控宝提供 7*24 小时主动 IT 性能监控;产品在全球范围内大概有 300 家的 IDC 节点,提供 800 家的服务器,IDC 数量决定了数据反馈的全面性,可以有效保障业务在全球的用户体验;国内节点覆盖 30 多个省份和 100 多个城市和地区,更能精准的定位问题所在区域。此外,也较为全面的覆盖了多个运营商,包括移动、联通、电信、教育四大运营商。以上三个维度,可以看出云智慧监控宝产品可以为各行业企业提供业务保驾护航的能力。

监控宝平台支持的协议包括 http/https、ping、DNS、ftp、traceroute 等,支持协议类型种类丰富,满足企业多方面使用需求。功能包括网页性能诊断、CDN 评估效果、网络质量探测、网站访问速度、接口服务可用率等。同时,整个产品支持多页面脚本录制,方便企业在大型网站上提供多页面监控能力,以及能够快速发现深层次的页面性能问题。

透视宝:端到端全链路应用性能诊断

云智慧 APM 透视宝产品提供端到端全链路的应用性能诊断。用户体验端包括 APP、浏览器、小程序的全栈性能分析和性能探测。后端支持应用拓扑的发现和代码质量的追踪,真正做到端到端一体化,实时掌握前端、透视后端,实现全业务链环节问题监控与分析。

下图为透视宝产品的技术实现原理, APP 端通过嵌入 SDK 实现用户行为和 APP 崩溃卡顿数据的抓取;浏览器通过页面嵌入 JS 方式实现页面详情的分析;主机操作系统通过部署 agent 实现 cpu、内存、网络、io 等指标监测;应用后端根据不同开发语言部署不同的探针,在中间件启动脚本里注入参数,重启应用后就可以实现数据的采集,小程序通过 mini agent 抓取相关数据。

应用场景介绍

  • 业务服务持续监测与告警

业务服务的持续监测和告警在一些互联网企业当中经常会遇见。比如北京区域网站访问是健康的,但其他区域网站访问异常时,也会收到的其他区域用户投诉。针对上述问题,由于目前各行业网站页面加载时序元素复杂,外加整个页面会有一些动画图片效果的呈现,所以需要能够实时探测网站在中国区域到地市级别和区级别的监控的主动拨测产品。监控宝可监测不同运营商链路访问网站速度、404 相关错误,以及可通过 IDC 节点主动收集数据,帮助企业及时分析并主动探测业务问题。该场景主要应用于互联网企业,电商企业,还有企业官网、在线教育等行业。

  • 内外网及网络专线质量监测与告警

企业内外网业务服务于全国。运营商网络不稳定的用户投诉,分公司专线或 VPN 经常出现的各种问题,均会导致业务运营受到较大影响。 外网网络质量监测依托于云智慧在全球 IDC 节点提供主动的 ping、MTR、traceroute 网络探测,60 秒的探测频率可以让问题被及时发现。针对内网专线的监测,云智慧提供魔盒产品。类似机顶盒的小盒子,使用寿命长、无风扇设计、节能环保,直接部署在分公司数据中心机房中即可使用。该场景主要应用于医疗行业、电商、金融、政府军工等集团企业。

  • 网页用户体验分析与持续优化

随着网站内容更加复杂化,大量元素加载耗时变长,首屏响应时间变得更加重要。如:当用户点击二级页面时会出现 404 错误或响应慢等现象,企业虽然做了 CDN 加速,在此情况下也很难确定加速的质量的好坏。然而在互联网时代下,用户对网页的加载速度提出更高要求,出现网页响应过慢或无法访问则会导致用户失去耐心而流失,以此便会给企业业务收入以及品牌均会带来损失。基于上述问题,监控宝产品提供了多页面脚本录制功能,可以模拟人点击操作所有页面各个环节的性能诊断,及时发现元素性能问题。此外,基于企业同时使用多家 CDN 厂商导致具体加速质量难以判断的现象,监控宝也提供了 CDN 整体性能评估功能,方便用户做 CDN 厂商性能体验对比。该场景主要应用在网站有丰富的大型 logo / 图片 / 轮播要展示的企业,如汽车类、广告展示类以及大量使用 CDN 服务商的企业。

  • 业务流程监测与优化

业务流程监测与优化主要解决业务调用第三方 API 接口性能问题。由于业务流程现状复杂性,完整的互联网或内部业务访问需要经历多重用户认证,以及多个内部环节处理才能最终完成。任何一个环节出现问题都可能导致业务不能正常进行,以及用户体验不佳、满意度下降,甚至出现用户流失。所以需要监控宝帮助企业从业务视角准确感知整体业务的性能和质量状况。该场景主要应用在使用第三方 API 服务的互联网企业、关注用户业务访问过程及体验的企业。

  • 应用拓扑自动发现与监控

全自动发现应用所有技术栈及其关联关系可以帮助企业从宏观视角把握一个应用及其关联应用的整体状态以及请求数、响应时间、错误等变化趋势,以此快速定位各层级问题。

随着企业应用上云和容器微服务化,应用之间调用关系愈来愈复杂。全局拓扑自动发现与监控是通过将复杂的请求调用关系拓扑图化来帮助运维人员和业务开发人员快速定位性能问题。产品可以直观的通过颜色变化分辨出是缓慢问题还是错误问题。同时拓扑上能发现各个组件的调用情况以及自身应用访问的组件,数据库、MQ、Nosql 和 API 接口情况。此外,通过拓扑可以直观的判断是自身应用问题还是其他应用性能导致的间接问题。此外,产品提供类似时光机的回溯功能,选择一定时间范围可以统计请求次数,缓慢次数、非常缓慢次数和错误次数。

  • 应用性能问题及故障快速诊断

随着云计算、大数据、容器、微服务等技术在企业的广泛采用,企业业务系统数量不断增加,运行环境也愈加复杂,需要不断根据市场环境和客户需求的变化进行快速响应和迭代,不断推出新的业务,减少业务故障风险,推动业务营收的增加;

第二个场景是应用性能问题及故障快速诊断,使用人员通过拓扑发现问题后需要第一时间定位问题,产品提供简单直观的操作界面,在拓扑图上点击应用实例就可以快速跳转到详细问题分析界面,比如上面截图的内容,可以看到后台代码堆栈追踪,慢 SQL 语句、外部接口详情、自身耗时、请求参数等详细分析问题的指标,性能问题一目了解,问题定位运筹帷幄。

  • 端到端全链路性能问题追踪

目前企业业务都是通过 APP、小程序或浏览器访问,因此在使用 APM 产品排查分析前端各种崩溃、卡顿、网络等问题后还是不能解决业务慢的问题。然而此时更多的是支撑业务后端的应用产生了性能故障,企业该如何去快速判断,精准的定位呢?云智慧产品提供了前端页面一键跳转后端的串联功能。如下方图片所示,当业务在登陆时已经能看到体验非常差,此时,在点击请求性能分析界面的查看按钮,便可以直接跳转到后端代码分析详情页面。该操作的前提条件是监测应用已经注入探针,不然是无法实现的。该场景可以有效的把前端和后端打通,串联追踪。

案例分享

某银行部署了 APM 整套产品,实现了应用后端整体性能监控,探针数量 115 个、接入应用数量 225 个、日均业务请求量 1500tps、日均应用请求的落盘数据量 150G 左右。截止到现在平台稳定 7*24 小时运行、探针对业务系统资源占用率控制在 3% 以内。在大量请求并发的情况下,云智慧基于列式存储的技术架构,也能实现页面妙级查询和妙级响应。

写在最后

近年来,在 AIOps 领域快速发展的背景下,IT 工具、平台能力、解决方案、AI 场景及可用数据集的迫切需求在各行业迸发。基于此,云智慧在 2021 年 8 月发布了 AIOps 社区, 旨在树起一面开源旗帜,为各行业客户、用户、研究者和开发者们构建活跃的用户及开发者社区,共同贡献及解决行业难题、促进该领域技术发展。

社区先后 开源 了数据可视化编排平台 - FlyFish、运维管理平台 OMP 、云服务管理平台 - 摩尔平台、 Hours 算法等产品。

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

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

相关文章

Databend 开源周报第 102 期

Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 为指定列创建 B…

极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析...

全文链接:http://tecdat.cn/?p24182 本文用 R 编程语言极值理论 (EVT) 以确定 10 只股票指数的风险价值(和条件 VaR)(点击文末“阅读原文”获取完整代码数据)。 使用 Anderson-Darling 检验对 10 只股票的组合数据进行…

【文生图系列】stable diffusion webui 汉化(双语)教程

文章目录 安装双语插件下载json源文件设置双语 这篇博文记录于我成功安装双语插件之后,所以以下的示例页面均是双语。汉化教程分为三步,安装插件,JSON源文件下载和最后一步的双语设置。 安装双语插件 在扩展(extensions&#xf…

k8s如何访问 pod 元数据

如何访问 pod 元数据 **我们在 pod 中运行容器的时候,是否也会有想要获取当前 pod 的环境信息呢?**咱们写的 yaml 清单写的很简单,实际上部署之后, k8s 会给我们补充在 yaml 清单中没有写的字段,那么我们的 pod 环境信…

数学建模-典型相关分析

上节回顾 论文:常州大学一等奖淡水养殖… 要进行 pearson 相关系数 画散点图、折线图看是否相关检验正态分布满足上述,利用pearson相关系数 刚开始推导不会没关系,会应用就行,推导过程略,之后学习了后续知识&#xff…

❤️创意网页:HTML5,canvas创作科技感粒子特效(科技感粒子、js鼠标跟随、粒子连线)

✨博主:命运之光 🌸专栏:Python星辰秘典 🐳专栏:web开发(简单好用又好看) ❤️专栏:Java经典程序设计 ☀️博主的其他文章:点击进入博主的主页 前言:欢迎踏入…

Ubuntu 的安装及其设置

文章目录 安装 Ubuntu屏幕分辨率设置修改软件源服务器锁屏时间设置设置 dash跨系统拖拽复制文件的设置 安装 Ubuntu 首先安装 VMware 虚拟机,虚拟机的安装比较简单,一步步点击Next即可完成安装。 安装完成后启动虚拟机,点击创建新的虚拟机。…

AC+AP 旁挂式连接配置(华为)

AR1路由器配置 # interface GigabitEthernet0/0/0 ip address 10.1.30.1 255.255.255.0 ip route-static 10.1.20.0 255.255.255.0 10.1.30.2 # LSW1核心交换机 # dhcp enable vlan batch 10 20 30 interface Vlanif20 ip address 10.1.20.1 255.255.255.0 dhcp select in…

回归预测 | MATLAB实现基于ELM-Adaboost极限学习机结合AdaBoost多输入单输出回归预测

回归预测 | MATLAB实现基于ELM-Adaboost极限学习机结合AdaBoost多输入单输出回归预测 目录 回归预测 | MATLAB实现基于ELM-Adaboost极限学习机结合AdaBoost多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现基于ELM-Adaboost极限学…

模拟面试2

1.说一说ArrayList的实现原理? ArrayList底层基于数组实现,内部封装了Object类型的数组,实现了list接口,通过默认构造器创建容器时,该数组被初始化为一个空数组,首次添加数据时再将其初始化为容量为10的数组…

【个人笔记】linux的cd命令与目录结构理解

cd命令 cd(英文全拼:change directory)命令用于改变当前工作目录的命令,切换到指定的路径。 若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。 另外,~ 也表示为 home 目录 的…

three.js学习记录(基础)

前言: 页面渲染3D特效,可以从各种图表库(例如ECharts)中寻找各种适用的模版,也可以寻找第三方插件。。。 一直以来都对three.js充满向往,终于偷闲找了个借口学了起来 参考资料 Three.js – JavaScript 3D…

什么?微信朋友圈能够一键转发了?

作为「国民级」聊天软件,微信朋友圈功能一直备受关注,毕竟社交 3 大巨头中,QQ 和微博都可以转发动态。那微信朋友圈能不能也像 QQ 空间这样,点击转发能分享到 QQ、微信和朋友圈呢? 那到底朋友圈转发怎么个转法&#xf…

流程图实现,基于vue2实现的流程图

1.基本思路 flex布局 伪元素实现竖直的连接线组件递归 2.效果图 2.1基础的(未截全,大致长这样) 2.2带有收缩功能的,可以展开和收缩并显示数量 3.待需要优化的点,根节点居中是基于整个流程图大小的来居中的&#xf…

使用 appium 进行微信小程序的自动化测试

目录 前言: 微信小程序结构 自动化用例的调整 示例代码 后记 前言: 微信小程序是一种流行的移动应用程序,它在移动设备上提供了丰富的功能和用户体验。为了确保微信小程序的质量和稳定性,自动化测试是必不可少的一环。Appiu…

VCSEL器件的常见参数有哪些?如何测试?

概述 垂直腔面发射激光器(VCSEL)是一种激光发射方向垂直于P-N结平面,而谐振腔面平行于P-N结平面的半导体激光器,它属于面发射激光器的一种。而EEL边射型激光器的光则是沿着水平方向,由芯片的边缘射出。与EEL相比, VCSEL的生产过程更具经济效益并且响应快,因此在越来越多的应用中…

element-ui message消息提示组件 ①延长提示消息在页面停留时间②提示消息换行

以实现下面的效果为示例 完整代码&#xff1a; let msgList ["数据1被引用", "数据2被引用"];// 使用html的换行标签拼接信息&#xff0c;默认行距太小&#xff0c;此处用两个<br/><br/>let message 以下数据不能删除&#xff0c;原因是&…

2023出海增长背后的隐忧

2023出海增长背后的隐忧 2023.7.19版权声明&#xff1a;本文为博主chszs的原创文章 今年出口逆势增长的领域&#xff0c;新能源车、锂电池、太阳能电池&#xff0c;号称新三样&#xff0c;有数据支撑&#xff0c;看起来鼓舞人心。 见&#xff1a;外贸出口“新三样”&#xf…

【半监督医学图像分割 2023 CVPR】PatchCL

文章目录 【半监督医学图像分割 2023 CVPR】PatchCL摘要1. 简介2. 相关工作2.1 半监督学习2.2 对比学习 3. 方法3.1 类感知补丁采样3.2 伪标记引导对比损失3.3 总体学习目标3.4 伪标号生成与求精 4. 实验5. 结果 【半监督医学图像分割 2023 CVPR】PatchCL 论文题目&#xff1a;…

java: 错误: 不支持发行版本 5 java: 错误: 不支持发行版本8 java: 错误: 不支持发行版本17

&#x1f353;&#x1f353;原因 该错误表示你使用的Java编译器不支持Java 5版本的发行。Java版本的发行是根据不同的功能和语言变化来区分的。 要解决这个问题&#xff0c;你可以尝试以下几种方法&#xff1a; 检查编译器配置&#xff1a;确保你的IDE或编译器已正确配置为使…