国内最知名的 CNode 社区把 New Relic 的监控产品换成了 OneAPM 。难道 APM 的老大 New Relic 已经被 OneAPM 超越?

毋庸置疑,在全球应用性能管理 SaaS 领域,New Relic 是当之无愧的老大。而在国内,之前还没有哪家 APM 厂商能够跟 New Relic 一较高下,为什么 OneAPM 会受到 CNode 的青睐呢?以下是 CNode 社区负责人 alsotang 的回答:

今天心血来潮,把原本的 New Relic 应用监控换成了 OneAPM 的。感觉还不错。

官网是:http://www.oneapm.com/

总览

大致的界面长这个样子

上图中,
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的更多相关文章

  1. node.js 使用ejs模板引擎时后缀换成.html

    这是一个小技巧,看着.ejs的后缀总觉得不爽,使用如下方法,可以将模板文件的后缀换成我们习惯的.html. 1.在app.js的头上定义ejs: 代码如下: var ejs = require('ej ...

  2. 程序员的复仇:11行代码如何让Node.js社区鸡飞狗跳

    来源自:http://www.techug.com/node-js-community 几天前,一名 NPM(Node.js Package Manager)社区的贡献者 Azer Koçulu 出于 ...

  3. 驳《我不是很懂 Node.js 社区的 DRY 文化》

    今天在群里有人讨论方老师的文章<我不是很懂 Node.js 社区的 DRY 文化>,我也看了一遍,槽点太多,不知道如何下笔. 方老师分析了几个依赖最多的 npm 包,每个都只有不到百行代码 ...

  4. Node.js也分裂了-开源社区动态

    继CoreOS与Docker分道扬镳继而推出自己的容器引擎Rocket后不久,又传来了Node.js分裂的消息.由于Node.js的贡献者因对负责Node.js开发的公司Joyent在对Node.js ...

  5. NODE.JS之我见

    NODE.JS之我见 先说说为什么有这篇文章,关注NODE.JS 也有一段时间了,不敢说大彻大悟,但是对于NODE.JS能干什么,还是有一定的了解,笔者多年以前就研究过JavaScript引擎V8,可 ...

  6. 【干货分享】Node.js 中文学习资料和教程导航

    这篇文章来自 Github 上的一位开发者收集整理的 Node.js 中文学习资料和教程导航.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念,它的目标是帮助程 ...

  7. node.js中文资料导航 Mark

    Node.js HomePage Infoq深入浅出Node.js系列(进阶必读) Node.js中文文档 被误解的 Node.js Node.js C++ addon编写实战系列 热门node.js ...

  8. 【干货分享】Node.js 中文资料导航

    这篇文章与大家分享一批高质量的的 Node.js 中文资料.Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的, 易于扩展的网络应用 Node ...

  9. Node.js Web框架收集

    原文地址:http://geek.csdn.net/news/detail/4020 框架列表: http://nodeframework.com/ 与其他很多语言一样,Node.js也有很多Web框 ...

随机推荐

  1. 移动Web轮播图IOS卡顿的问题

    晚饭前,被测试吐槽说,banner轮播手动左右滑的时候会卡顿.我一看不科学啊,大水果手机怎么会卡顿.我一看测试手中拿的是iPod,我觉得大概是这小玩意性能不强悍,后来又拿来5S,依然会卡顿,有趣的是, ...

  2. Lucene使用IKAnalyzer分词实例 及 IKAnalyzer扩展词库

    文章转载自:http://www.cnblogs.com/dennisit/archive/2013/04/07/3005847.html 方案一: 基于配置的词典扩充 项目结构图如下: IK分词器还 ...

  3. react-native-vector-icons 安装

    react-native-vector-icons 是可以直接使用图片名就能加载图片的第三方,类似于web的iconfont矢量图,使用很方便, 你不需要在工程文件夹里塞各种图片, 节省很多空间,下面 ...

  4. js读取json数据(php传值给js)

    <?php $array =array('fds','fdsa','fdsafasd');  // json_encode($array); ?> <html> <hea ...

  5. kdbchk: the amount of space used is not equal to block size

    一.对数据文件检查 注意:应该在关闭数据库模式下进行bbed的操作 [oracle@ora10 controlfile]$ dbv file=/u01/app/oracle/oradata/ORCL/ ...

  6. XHTML1.0对HTML4.0的改进

    1.XHTML借鉴了XML的写法,语法更加严格: 2.XHTML实现了把页面样式和内容分离了,废弃了HTML4.0中表示样式的标签和属性,推荐使用CSS样式来描述页面的样式. XHTML1.0 分为两 ...

  7. MySQL 5.7.11 重置root密码

    .修改/etc/my.conf,添加参数skip-grant-tables .重启mysql service mysqld stop service mysqld start .用root 直接登录 ...

  8. python 字典内置方法get应用

    python字典内置方法get应用,如果我们需要获取字典值的话,我们有两种方法,一个是通过dict['key'],另外一个就是dict.get()方法. 今天给大家分享的就是字典的get()方法. 这 ...

  9. C# 访问控制:public、private、protected和internal

    平日工作时最常用的访问控制符是public和private,当看到prism里面大量使用protected的时候,觉得还是不太理解为啥. 所以就静下心来查找并理解了一下,这里记录下,以便回顾和交流. ...

  10. 全部快捷方式图标变成LNK文件怎么办

    windowsLNK文件打开方式恢复 相信有些用户曾试过错误地把LNK文件打开方式更改其文件导致系统所有快捷方式都失效vista与Windows7系统还普遍使用时候相信大家会有点惊慌失措要紧下面只要大 ...