国内最大的 Node.js 社区将 New Relic 的监控产品换成了 OneAPM
国内最知名的 CNode 社区把 New Relic 的监控产品换成了 OneAPM 。难道 APM 的老大 New Relic 已经被 OneAPM 超越?
毋庸置疑,在全球应用性能管理 SaaS 领域,New Relic 是当之无愧的老大。而在国内,之前还没有哪家 APM 厂商能够跟 New Relic 一较高下,为什么 OneAPM 会受到 CNode 的青睐呢?以下是 CNode 社区负责人 alsotang 的回答:
今天心血来潮,把原本的 New Relic 应用监控换成了 OneAPM 的。感觉还不错。
总览
大致的界面长这个样子
上图中,
1 的部分是指平均响应时间 50 + ms 。折线图可以根据你选择的时间窗口,来查看应用在特定时间内的 response time 变化情况。
2 的部分算是一个类似打分的东西,满分一分。在 New Relic 中,100ms 以内才是 0.9 分。而在 OneAPM 中,500ms 就算是 0.9 分了。有点忽悠人的感觉。因为一般的应用,都不可能去追求响应时间 < 500ms 这个阈值,这时间太久了。这个地方可以自己调一下。
3 的部分是吞吐量。由于 OneAPM 是注入我们的 Node 代码进行性能监控的,所以这个是 controller 所处理的吞吐量,如果静态资源由 CDN 或者 Nginx 处理的话,则不计入。我总感觉这个地方其实不准,大了一倍的样子,当然,New Relic 也不准。这跟他们对于【究竟怎么样算是一次 Web 事务】的判断原理有关。
4 的部分是是对于【 web 事务组】的统计
比如路径 /topic/:tid 是一个事务组,/about 是一个, /user/:username 是一个。有可能我们的程序整体响应速度不高,但其实在查看用户首页的时候,由于代码写得不好而时间比较久,这时候 /user/:username 就会出现比整站平均大很多的时间。可以进行针对性优化。
这张图是 cnode 社区响应时间比较久的事务组统计。
5 的部分是错误统计。原理不明。不过也是有详情页可以查看的
其他还有一些关于数据库,关于外部服务的图表,都可以一个个看一遍,把应用的性能都直观感受一下。
其实去年9月的时候,就有 OneAPM 的同学让我试用服务,不过当时我觉得他们成立时间太短了,就怕整天需要升级或者影响社区的稳定性。一年后再来看,他们已经成熟到可以从 New Relic 迁移过来了。
安装过程
安装过程特别简单,跟 New Relic 一样。只要在代码的入口 require('oneapm') ,然后在配置文件里面配置一个 key。重启程序。就可以得到性能统计了。他们做了很多的代码注入。
与 Google Analytics 的异同
GA 对于我们的程序来说,不管拿到的数据再多,后端对于它来说始终是黑盒的。但是 APM 的这种监控方式,可以让我们更清楚地看到性能瓶颈和优化点所在。GA 最多就看个访客数,来访省份和时间之类的。感觉对于运营的作用大于对于性能优化的。
Server 监控
之前我的 Server 监控也是使用 New Relic 的,不过这块已经是相当成熟的领域了,所以我也迁移到了 OneAPM 上面。
其实就等于是用更美化的方式显示了 top 命令。而且还带历史记录功能。
Cloud Insight 服务
用了 Server 监控之后,就有提示框出来让我试用一下 Cloud Insight 这个服务。我也去试用了一下
嗯,可点的选项比起上面简单的 Server 监控多了很多。不过我都看不懂。感觉这个要运维知识更多的人才看得懂。我们应用开发的人,配个 Server 监控就好了。
MongoDB 监控
其实大多数时候,应用的性能都出在数据库请求的优化上。所以我想配置一下 MongoDB 的监控。
从 【平台服务监控】那个 tab 进去之后,我照着配置了一下,发现无效。
Cloud Insight 也声称自己可以监控 MongoDB。我看了看文档,觉得下图所示部分还挺粗糙的,就直接放弃使用了。
前两个月我有测了一下社区的 MongoDB 瓶颈。方法是把 MongoDB 的慢查询时间设为 10ms,然后观察一段时间,看看哪个查询的耗时比较久。然后找到相应的代码去优化查询。
这个地方,如果能用上图形化工具,相信一定也方便很多。
免费版与收费版的区别
目前的话,我使用起来觉得二者没区别,除了历史日志的保留时间。免费版是 3 天,专业版是 30 天,企业版更长。
剩下的区别,就在于以下这些高级特性,
…感觉我也用不上。
总得来说,还是很推荐各位把应用迁上 OneAPM 的。
----以上为分享的全部内容-----
如果同样是 Node.js 开发者,我想已经没什么好犹豫的啦。
更重要的是,除了 Node.js,OneAPM 支持的语言跟 New Relic 也不相上下,我们还支持 Java、.NET、Python、PHP、 Ruby 等多种主流开发语言,以及 iOS 及 Android 这两种移动端的操作系统。而且 OneAPM 也是全球首家可以同时从系统服务层、应用层、用户体验层、业务交易层提供全栈式性能管理服务的公司。
其实也未见得谁超越了谁,只是 New Relic 在那头,而 OneAPM,就在这头!
国内最大的 Node.js 社区将 New Relic 的监控产品换成了 OneAPM的更多相关文章
- node.js 使用ejs模板引擎时后缀换成.html
这是一个小技巧,看着.ejs的后缀总觉得不爽,使用如下方法,可以将模板文件的后缀换成我们习惯的.html. 1.在app.js的头上定义ejs: 代码如下: var ejs = require('ej ...
- 程序员的复仇:11行代码如何让Node.js社区鸡飞狗跳
来源自:http://www.techug.com/node-js-community 几天前,一名 NPM(Node.js Package Manager)社区的贡献者 Azer Koçulu 出于 ...
- 驳《我不是很懂 Node.js 社区的 DRY 文化》
今天在群里有人讨论方老师的文章<我不是很懂 Node.js 社区的 DRY 文化>,我也看了一遍,槽点太多,不知道如何下笔. 方老师分析了几个依赖最多的 npm 包,每个都只有不到百行代码 ...
- Node.js也分裂了-开源社区动态
继CoreOS与Docker分道扬镳继而推出自己的容器引擎Rocket后不久,又传来了Node.js分裂的消息.由于Node.js的贡献者因对负责Node.js开发的公司Joyent在对Node.js ...
- NODE.JS之我见
NODE.JS之我见 先说说为什么有这篇文章,关注NODE.JS 也有一段时间了,不敢说大彻大悟,但是对于NODE.JS能干什么,还是有一定的了解,笔者多年以前就研究过JavaScript引擎V8,可 ...
- 【干货分享】Node.js 中文学习资料和教程导航
这篇文章来自 Github 上的一位开发者收集整理的 Node.js 中文学习资料和教程导航.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念,它的目标是帮助程 ...
- node.js中文资料导航 Mark
Node.js HomePage Infoq深入浅出Node.js系列(进阶必读) Node.js中文文档 被误解的 Node.js Node.js C++ addon编写实战系列 热门node.js ...
- 【干货分享】Node.js 中文资料导航
这篇文章与大家分享一批高质量的的 Node.js 中文资料.Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的, 易于扩展的网络应用 Node ...
- Node.js Web框架收集
原文地址:http://geek.csdn.net/news/detail/4020 框架列表: http://nodeframework.com/ 与其他很多语言一样,Node.js也有很多Web框 ...
随机推荐
- JSLint notepad++使用
1.JSLint简介 JSLint定义了一组编码约定,这比ECMA定义的语言更为严格.这些编码约定汲取了多年来的丰富编码经验,并以一条年代久远的编程原则 作为宗旨:能做并不意味着应该做.JSLint会 ...
- jQuery插件使用大全
1.jQuery datepicker日历插件使用说明 http://wenku.baidu.com/view/12804e1e59eef8c75fbfb3e3 2.jqueryFileUpload插 ...
- Linux 网络工具之fping
系统中有个最最常用命令工具--ping,而fping 是ping 工具的加强版本.安装过程很简单: [root@mail /]# wget --limit-rate 500k http://www.f ...
- WinDbg 调试.net程序
WinDbg支持以下三种类型的命令: · 常规命令,用来调试进程 · 点命令,用来控制调试器 · 扩展命令,可以添加叫WinDbg的自定义命令,一般由扩展dl ...
- linux中nodejs后台运行工具forever
forever让nodejs应用后台执行 命令如下: forever start './bin/www' nodejs一般是当成一条用户命令执行的,当用户断开客户连接,运用也就停了,很烦人.如何让no ...
- 自改xss小平台上线
原先一直用xss.hk结果不知怎么被关的,正好手上有代码于是自己搭了一个,网上的类似的xss平台大多一样,原先的xss的chrome插件,不适合 "manifest_version" ...
- 使用PowerShell 连接Azure
除了使用门户登入外,还可以使用PowerShell的方式来连接Azure.首先要去下载组件 http://azure.microsoft.com/en-us/downloads/?rnd=1 http ...
- 转载---linux运维相关
前段时间,我在准备面试的时搜到的一套Linux运维工程师面试题,感觉比较全面,一直保存在草稿,刚在整理后台时翻了出来,干脆就发出来好了,以备不时之需. 1.linux如何挂在windows下的共享目录 ...
- php获取指定日期所在星期的开始时间与结束时间
function getWeekRange($date){ $ret=array(); $timestamp=strtotime($date); $w=strftime('%u',$ ...
- cocos中BatchNode精灵集合的使用
1.CCSpriteBatchNode是为了提高渲染效率而实现的,它继承自CCNode 2.fps:帧率,是游戏中衡量流畅度的一个很重要的概念,cocos中默认的帧率是60,即一秒刷新60帧 3.精灵 ...