我们蝉游记服务器端性能监控一直用 http://newrelic.com/ ,用它的免费版本N长时间,有必要为好工具义务宣传一下。

首先你需要在网站上注册一个新帐号,根据服务器端的应用框架选择安装对应的插件,它提供了很多常见应用框架插件,以Rails为例子,只需要在Gemfile配置,执行bundle install即可:

gem 'newrelic_rpm'

然后下载对应的newrlic.yml配置文件,放入到应用目录,进行一些参数的调整。将应用重新部署以后,等几分钟,让插件收集到性能相关数据,再去访问NewRelic网站,就可以看到各种图表了。

首先需要关注的是请求的响应时间图表,用这个图表可以对请求在服务器端耗时有个整体印象:

从图表上可以看到,在这个时间段,请求的平均耗时是52ms,同时可以看到每个请求的Ruby代码和数据库执行时间占据了绝大部分,还有少量的外部服务调用时间(比如第3方Oauth或者API)。由于我们使用OOB GC,所以在图表上几乎没有GC的时间。

另外右上角有一个3.58s的浏览器时间,这个是指用户访问网页,从请求发出,到整个页面完全加载完成(包括图片,css,js等)。

第二个图表是Apdex (Application Performance Index),从这里可以看到大部分用户是否满意你的应用响应速度:

从图表可以看到,99%的用户非常满意请求响应时间(在我们的应用里面,大部分请求是客户端调用api),93%的用户非常满意页面加载完成的时间。我们用的指标是NewRelic默认设置的500ms和7s,你还可以自己进行调整。

第3个图表是吞吐量

可以看出在这半个小时的区间,平均每分钟有1050个请求。用这个图表,通过調整时间段(,了解整个应用什么时候是高峰,什么时候是低谷,方便将一些批处理,备份等任务放在访问低谷的时间段进行。还有当用户报告无法访问的时候,可以通过查看吞吐量是否有急剧下降,来判断是个例还是整体故障,来确定解决问题的优先级。免费版本的NewRelic,只能查看过去24小时的数据,升级到付费帐号,可以查看所有的历史数据。

第4个图表是根据请求的时间和请求的次数,列出一个最耗时的请求

我们可以根据这个排列顺序,来考虑对于访问量大,同时又耗时的请求进行重点性能优化。
点击具体的请求,还可以看到请求耗时的分布情况:

从图表上可以看到这个请求,在渲染json数据耗费了比较多的时间,另外在ActiveRecord的查询上也耗费了一些时间,如果要优化的话,就可以从渲染结果加片段缓存,或者查询优化入手。升级到付费版本,还能查看到具体的sql语句执行情况,如果有slow query,还能显示explain的结果。

第5个图表,是错误率

在我们应用中引发错误的大部分是一些爬虫404,还有一些是异常数据没有处理好导致,这里就不详细介绍了。这个图表对于用户反馈错误定位也是很有帮助的。

第6个图表,是应用性能分布到各个服务器状态

对于了解服务器资源和扩容计划很有帮助。顺便说一个实际遇到的事情,发现过某台主机(我们用的云主机)的响应时间就是比其他台要慢50%以上,对比发现这台的CPU和Disk IO都比其他台要弱,后来报告给云主机服务商,通过迁移到了新的物理机解决了。

除了上述的这些性能图表,NewRelic也提供了很多监控的选项,比如ping,内存/存储警报等,可以将报警发送到邮件,或者推送到移动客户端:

这里就简单介绍一下它免费版本的少量功能,更多的功能留待大家去玩吧。最后还要提一下最喜欢的scalability report和database report,可以申请试用付费帐号来体验,是我见过最赞的报表了。

性能监控的好工具 - NewRelic 简介相关推荐

  1. java -jar 未响应_Java 方法性能监控和统计工具 MyPerf4J

    一个针对高并发.低延迟应用设计的高性能 Java 性能监控和统计工具. 特性 高性能: 单线程支持每秒 1000 万次 响应时间的记录,每次记录只花费 73 纳秒 无侵入: 采用 JavaAgent ...

  2. JVM-11虚拟机性能监控与故障处理工具之【JDK的可视化工具-JConsole】

    文章目录 思维导图 概述 JConsole: Java监视与管理平台 启动jconsole 内存监控示例 VM ARGS 代码 JConsole监控展示及说明 扩展问题 没有指定-Xmn,如何确定新生 ...

  3. JVM-10虚拟机性能监控与故障处理工具之【JDK的命令行】

    文章目录 思维导图 概述 命令行工具 jps 虚拟机进程状况工具 概述 语法及使用 jstat 虚拟机统计信息监视工具 概述 语法及使用 jinfo Java配置信息工具 概述 语法及使用 jmap ...

  4. jvm(4)-虚拟机性能监控与故障处理工具

    [0]README 0.1)本文文字描述转自 "深入理解jvm",旨在了解 虚拟机性能监控与故障处理工具的基础知识(仅仅在于了解): [1]概述 1)给一个系统定位问题的时候,知识 ...

  5. java 无侵入监控_MyPerf4J 一个高性能、无侵入的Java性能监控和统计工具

    MyPerf4J 一个针对高并发.低延迟应用设计的高性能且无侵入的实时Java性能监控和统计工具. 受 perf4j 和 TProfiler启发而来. MyPerf4J具有以下几个特性: 无侵入: 采 ...

  6. 六个 Linux性能监控命令行工具

    六个 Linux性能监控命令行工具  1.htop - http://htop.sourceforge.net/ 一个可以让用户与之交互的进程查看器.作为文本模式的应用程序,主要用于控制台或 X 终端 ...

  7. 接口 java性能_MyPerf4J 一个极快的Java接口性能监控和统计工具

    MyPerf4J 一个针对高并发.低延迟应用设计的高性能 Java 性能监控和统计工具. 价值 快速定位性能瓶颈 快速定位故障原因 优势 高性能: 单线程支持每秒 1600 万次 响应时间的记录,每次 ...

  8. JVM笔记-性能监控与分析工具

    1. 概述 前面几篇文章分析了 JVM 的一些概念,大部分都是偏理论的,本文介绍一些可以实操的 JVM 性能监控与分析工具. 主要包括 JDK 自带的一些常用工具,以及阿里开源的 Java 诊断工具 ...

  9. JYM虚拟机性能监控与故障处理工具

    虚拟机性能监控与故障处理工具 一.jps:虚拟机进程状况工具 常用指令 二.jstat:虚拟机统计信息监视工具 常用指令 三.jinfo:配置信息工具 四.jmap:Java内存映像工具 常用指令 五 ...

最新文章

  1. 勒索软件层出不穷,Veeam “3-2-1-1-0”助力构建数据防护
  2. Sharepoint ListTemplateId
  3. 解释型语言与编译型语言
  4. C#基础-应用程序域
  5. C语言入夏标志,青岛真的入夏了吗?青岛20°C的梗是什么?
  6. Cycle-1(循环)
  7. 前端知识 之 HTML
  8. 高级数学建模模型——对数正态分布
  9. 医用计算机考试题目,2015年全国计算机应医用能力考试辅导资料.doc
  10. 【闲置路由器的有效利用】路由器有线桥接实现无线漫游
  11. Failed to lookup view “error“ in views directory 解决方案
  12. 数学家教你烤肉饼:按最佳时机翻面可节省近1/3烹饪时间,网友:想去汉堡王应聘厨子了...
  13. Build和Rebuild的区别
  14. 【python-Unet】计算机视觉~舌象舌头图片分割~机器学习(三)
  15. Handlebars js模版
  16. GPU编程 CUDA C++ 使用统一内存编程之【静态统一内存】
  17. [scRNA-seq]单细胞转录因子分析——SCENIC算法简析
  18. 【MPLAB X IPE】:XIPE烧写教程
  19. 交换内存SWAP使用率90%
  20. ABAQUS学习(2):Abaqus求解好后导出点坐标/位移/应变

热门文章

  1. 大数据培训:小白如何学好大数据
  2. 母版页的铵钮事件去获取子页的内容
  3. Android字符串资源及其格式化
  4. 洛谷P1061 Jam的计数法 数学
  5. 简单自学机器学习理论——引言 (Part I )
  6. spring mvc 转发跳转
  7. JavaScript 基础(二)
  8. 写程序实现wireshark的抓包功能
  9. 极度偷懒 - 实现算命程序中tabcontrol的“美化”
  10. 黄聪:选择适当的关键词