easy-monitor

Node.js性能分析神器Easy-Monitor

怎甘沉沦 提交于 2020-08-08 14:42:25
摘要: 使用Easy-Monitor,可以准确定位Node.js应用的性能瓶颈,帮助我们优化代码性能。 当应用出现性能问题时,最大的问题在于: 如何准确定位造成性能瓶颈的代码呢? 对于Node.js开发者,这里推荐一下 Easy-Monitor ,它应该是阿里巴巴某个90后程序员开发的。这个NPM模块可以帮助我们快速定位性能瓶颈。 问题 当负载较高时,某个后端模块的 响应时间慢 了很多,甚至出现 超时 错误”504 Gateway Time”。通过查看监控可知,这个模块在高峰期的CPU使用量是满负荷的,这有可能是问题所在。 接入 Easy-Monitor 接入Easy-Monitor非常简单,在入口js文件中导入即可: if (process.env.NODE_ENV === "development") { const easyMonitor = require("easy-monitor"); easyMonitor("backend"); } 启动应用,访问: http://localhost:12333/index ,即可查看Easy-Monitor的UI界面: 采集CPU数据 ab 命令可以用于进行压力测试 ab -n 1000 -c 10 -T 'application/json' -p data.json http://localhost:3000/data/

蒲公英 · JELLY技术周刊 Vol.13 跟 VSCode 学习如何开发大型 IDE 项目

旧街凉风 提交于 2020-08-06 11:47:21
开发一个 IDE 很难么?这或许是件很难的事情,但当我们参考 VSCode 的技术构架来看,整个开发流程就会平滑顺畅很多,从内核开发、代码编辑器、视图结构到插件系统,在这整个技术构架中我们可以看到很多一个 IDE 开发中需要注意的方方面面。如果你对 VSCode 深入研究过,相信可以从中颇受启发,在此之前不妨先来看看本期推荐。 登高远眺 天高地迥,觉宇宙之无穷 基础技术 跟 VSCode 学习如何开发大型 IDE 项目 VSCode 是当下非常流行的微软开源的代码编辑器,它在满足多样性插件化生态的同时保证了软件的健壮和性能,这得益于其优秀的插件化内核架构设计。本文作者是蚂蚁金服云凤蝶团队成员,文中对 VSCode 的关键技术架构作了深刻的剖析和理解,包括内核分层隔离与扩展机制、依赖注入、命令系统、插件化架构等等,如果你正在打造一个可扩展的软件系统,这篇解读非常值得去学习参考。其实,VSCode 的优秀架构离不开其专注而克制的产品定位——“编辑器 + 代码理解 + 调试”,其他的内容交给社区生态来扩展。最完美的设计,往往是精简到极致,而无法再做减法了。 前端进阶:跟着开源项目学习插件化架构 微内核(插件化)架构被广泛应用于软件系统设计中,譬如 Vue 的插件机制 Vue.use(Plugin) 就是一个简单的插件化设计。微内核架构既能满足灵活扩展的特性,又不影响系统的稳定性