1. Easy-MonitorNode.js 內(nèi)核性能監(jiān)控分析工具

        聯(lián)合創(chuàng)作 · 2023-09-27 07:57

        I. 簡(jiǎn)介

        輕量級(jí)的 Node.js 項(xiàng)目?jī)?nèi)核性能監(jiān)控 + 分析工具,在默認(rèn)模式下,只需要在項(xiàng)目入口文件 require 一次,無(wú)需改動(dòng)任何業(yè)務(wù)代碼即可開啟內(nèi)核級(jí)別的性能監(jiān)控分析。

        - 功能特點(diǎn)

        • 服務(wù)器狀態(tài)概覽信息展示

        • 實(shí)時(shí) CPU 函數(shù)性能分析,幫助定位程序的性能瓶頸點(diǎn)

        • 實(shí)時(shí) Memory 堆內(nèi)內(nèi)存結(jié)構(gòu)分析,幫助定位到內(nèi)存疑似泄漏點(diǎn)

        Easy-Monitor 旨在幫助大家更深入的理解自己的 Node 項(xiàng)目進(jìn)程,以便性能優(yōu)化時(shí)能更有針對(duì)性,最終提升大家的項(xiàng)目體驗(yàn)。

        - 兼容性

        目前經(jīng)過測(cè)試,兼容以下 Node.js 版本:

        • Node v4.x

        • Node v6.x

        • Node v8.x

        因?yàn)?Node.js 的 LTS 版本都是偶數(shù)版本,所以此處并未對(duì)于奇數(shù)版本進(jìn)行測(cè)試(v5.x,v7.x),如果有測(cè)試過的可以以 issue 的形式將兼容性結(jié)果反饋。

        注:Node v8.x 截止目前為止 (2017.6.6) 下使用 v8-profiler 有 Segmentation fault (core dumped) 的核心錯(cuò)誤,并且官方 issue 修復(fù)較慢 ( issue 112 ), 故經(jīng)排查源代碼后發(fā)布了 v8-profiler-node8 臨時(shí)解決了這個(gè) bug,等官方修復(fù)后,會(huì)將 Easy-Monitor 的依賴切回 v8-profiler 。

        - 2.0 新特性

        • 基于 vue.js 和 iview 組件全新設(shè)計(jì)的 UI

        • 全面兼容 v4.x ~ v8.x

        • 新增概覽 Overview 展示頁(yè)

        • 支持 動(dòng)態(tài)更新配置,無(wú)需重啟一鍵生效

        • 支持 Stream 流式解析更大的 HeapSnapshot

        • 支持 Cluster 集群部署,支持定制 私有協(xié)議

        II. 快速開始

        - 安裝模塊

        執(zhí)行如下命令安裝 Easy-Monitor:

        npm install easy-monitor

        - 項(xiàng)目中引入

        在你的項(xiàng)目入口文件中按照如下方式引入,當(dāng)然請(qǐng)傳入你的項(xiàng)目名稱:

        const easyMonitor = require('easy-monitor');
        easyMonitor('你的項(xiàng)目名稱');

        好了,此時(shí)你所需要做的一切都已就緒,接下來以你喜歡的方式運(yùn)行項(xiàng)目即可,不管是 nohup 還是 pm2,亦或是直接 node 啟動(dòng)均可。

        - 訪問監(jiān)控頁(yè)面

        打開你的瀏覽器,訪問 http://localhost:12333 ,即可看到進(jìn)程界面。

        - 完整樣例 & Demo

        為了幫助大家更好的理解使用,下面編寫一個(gè) Easy-Monitor 嵌入 Express 應(yīng)用的完整例子

        'use strict';
        const easyMonitor = require('easy-monitor');
        easyMonitor('Mercury');
        const express = require('express');
        const app = express();
        app.get('/hello', function (req, res, next) {
            res.send('hello');
        });
        app.listen(8082);

        將上述的內(nèi)容保存成一個(gè) js 文件,啟動(dòng)后訪問 http://127.0.0.1:12333 即進(jìn)入 Easy-Monitor 的首頁(yè),就是這樣的簡(jiǎn)單!

        這里有一個(gè)在線真實(shí)的 Demo 地址:Easy-Monitor Demo,可以點(diǎn)擊進(jìn)入自行嘗試一番。

        瀏覽 15
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
          
          

            1. 国产婬荡交换乱婬毛片 | 竹内纱里奈欲求的少妇 | 日本美女操逼的视频 | 大鸡巴操逼网 | 亚洲黄色无码 |