APM vs NPM
概述
APM:Application Performance Monitoring 的简称,即应用性能监控。
NPM:Network Performance Monitoring 的简称,即网络性能监控。
技术实现
- APM: 应用服务器上安装代理
- NPM:交换机网络流量镜像
部署
- APM:每台应用服务器都需安装代理
- NPM:所关心的应用即 ip 加 port 所经过的交换机流量必须全部镜像
支持的技术
- APM:全部应用 java .net php nodejs 各种框架
- NPM:http,tcp等各种网络协议
监控颗度
- APM:应用服务器上应用内部的全部调用过程,内存对象和线程的全部解析。
- NPM:则只涉及到协议的 request 例如url,无法深入部调用。也无法对交易自动化完整串联跟踪;但是会有网络设备的网络性能。
缺点
NPM
- 流量没有走交换机, 比如都是同一台宿主机上的虚拟机, 则无法监控
- 监控只限于网络层面, 无法深入应用和代码
- 如果网络协议加密, 则可能需要私钥进行解密, 或无法解密, 或解密过程性能消耗较大.
- 无法监控数据中心以外的数据
APM
- 主要支持 JAVA/.Net 等语言的监控, 特定语言(如:C)及特定应用服务器(如:Tuxedo)无法监控
- 商业 APM 按节点计费, 较难做到全覆盖
- 数据中心, 如果技术栈不支持, 则无法做到全监控
- 侵入式部署
优点
NPM
- 数据中心全覆盖(当然,也是有条件的,但是相对 APM 容易实现)
- 通过相关的网络协议监控,可以更广泛地实现客户关注的效果
- 针对银行交易有完整的成熟的解决方案(如:天旦BPC)
- 部署非侵入式
APM
- 可以监控到数据中心以外的数据(其实需要 RUM 即 Real User Monitoring)
- 应用性能问题深入追踪(具体到方法/线程快照/内存快照/异常/日志/同步异步调用等)
- 用户体验管理(用户操作/手机 APP/浏览器)(也是通过 RUM 实现)
适用场景
APM
- 更关注应用性能问题
- 开发/中间件运维
- 需要对应用/中间件关键指标进行监控和告警
- 系统架构都是 JAVA/.NET/php/node.js.... (无 C 无 tuxedo) , 则可以进行自动的交易关联, 且监控细粒度会很细.
- 需要对数据中心外的用户体验(如用户点击操作数据/手机APP/浏览器端数据)监控
NPM
- 业务监控(典型如银行交易笔数)
- 更关注网络性能问题
- 系统架构中含有非 .net/JAVA 系统, 如 Tuxedo
- 无法接受侵入式部署
- 银行(有完整的解决方案, 如天旦 BPC)
APM vs NPM的更多相关文章
- atom插件安装引发的nodejs和npm安装血案
最近在写前端网页,学习就要从高大上的地方开始,于是我打算装一个atom编辑器. 本来就是由github客户端的,再装个atom也算是配套了吧,其实本白也是蛮费心思的,技术不怎么地,什么神器都再努力地使 ...
- 解决mac下atom安装插件失败问题
activate-power-mode的超炫编辑效果打动了我,花时间安装了atom,之后在package,install里面找到了这个插件,但是安装失败,如下图所示: gyp info it work ...
- install atom markdown preview plus error
Installing "markdown-preview-enhanced@0.15.2" failed.Hide output- npm ERR! Darwin 17.2.0 n ...
- ubuntu 下安装 activate-power-mode
转自网络 被朋友圈中的atom的activate-power-mode 震撼到了,于是想试试. 步骤如下 首先安装atom: sudo add-apt-repository ppa:webupd8te ...
- 工作总结 用, 隔开数据 后台不可以用 List<string> 接收 get请求直接通过浏览器发请求传数组或者list到后台
旁边的 css js 为项目的 加载 css js 地址 只加载引用的样式 js http://localhost:8736/LinInFoKPI/ExcelPrint?line=&start ...
- get请求直接通过浏览器发请求传数组或者list到后台
原文链接: http://blog.csdn.net/qq_27093465/article/details/76160419 感谢原作者 例如: http://localhost:27001/tes ...
- Node.js项目APM监控之New Relic
现在上一个项目,如果没有APM监控服务或应用的运行性能参数,等于是一架没有盲降系统的飞机正在盲降,结果会很悲催.出现了访问失效等问题时,都很难判定是性能瓶颈还是一个藏的深的bug,汇报的时候一顿眼晕, ...
- 国内APM企业的现状
19世纪美国西部掘金热大起,大家听闻有人挖到了金子一夜暴富,于是蜂拥而上,但是很多人失望而归,最后居然是卖铲子的人赚到了钱. APM在互联网+时代表示应用性能管理,就是掘金万亿互联网市场的“铲子”,主 ...
- 【npm】如何在Atom中安装emmet和atom-beautify插件?
为了提高编写HTML和CSS的速度,最近尝试着在Atom中安装emmet插件,下面谈谈安装成功的过程 1首先我尝试了网上教程中介绍最多的方法:打开Atom的引导界面(Welcome Guide)中的i ...
- NPM实用指北
npm作为下载node附送的大礼包,大家一定不会陌生. 然而关于npm,估计大量的只是用到npm install XXX以及npm run XXX. 其实这里边还有很多有意思的命令&参数.关于 ...
随机推荐
- 【Azure Redis 缓存】Azure Reids是否可以开启慢日志(slowlog)和执行config指令
问题描述 使用Azure Redis,是否可以开启慢日志来查看最近时间中执行比较耗时的指令呢? 同时,如何执行Redis的Config只能来修改配置呢? 根本原因 一:Azure Reids通过Red ...
- PHP项目&TP框架&SQL&XSS&架构&路由&调试&写法
开发基础-TP框架-入口&调试&路由&写法等 参考手册-TP5开发手册-为了掌握了解框架 首页文件看APP_PATH定义-为了后期分析核心代码 全局搜索:THINK_VERSI ...
- 二十一: Mysql 锁机制
Mysql 锁机制 事务的 隔离性 由这章讲述的 锁 来实现. 1. 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制.在程序开发中会存在多线程同步的问题,当多个线程并发访问某个数据的时候,尤 ...
- 13 Codeforces Round 886 (Div. 4)G. The Morning Star(简单容斥)
G. The Morning Star 思路:用map记录x,y,以及y-x.y+x 从前往后统计一遍答案即可 公式\(ans+=cnt[x]+cnt[y]-2 * cnt[x,y]+cnt[y+x] ...
- [MAUI 项目实战] 音乐播放器(二):播放内核
播放控制服务 IMusicControlService: 播放控制类,用于当前平台播放器对象的操作,对当前所播放曲目的暂停/播放,下一首/上一首,快进快退(寻迹),随机.单曲模式等功能的控制. 播放控 ...
- STM32标准库通用定时器输入捕获
STM32标准库定时器输入捕获 1.输入捕获介绍 输入捕获为STM32定时器的一个功能,可以用来测量输入信号的频率和占空比. 具体原理:当输入信号经过比较捕获通道时,STM32会依据通道的极性设置决定 ...
- think about 和 think of 区别
about 是 on by out 简称 about 在旁边 在外围 周边 think about you 想你有关的事 of 是 belong to 什么什么的 of指的是 这个人或者这个事本身相关 ...
- @hook:updated="$common.lib.consoleInfo('updated')" vue外层插入监听事件
@hook:updated="$common.lib.consoleInfo('updated')" vue外层插入监听事件
- 【开发】操作系统应用基础-Linux常用Shell命令
一 Linux操作系统和Shell 简介 操作系统(Operating Systems, OS)实际上是一种用于计算机的软.硬件资源管理调度的系统级软件,它的主体是内核(Kernel),其主要负责进程 ...
- epoll反应堆理解
https://www.aliyundrive.com/s/oBvP7BcjsCS https://blog.csdn.net/weixin_36750623/article/details/8354 ...