node+Express測試服務器性能
1 測試環境
1.1 服務器硬件
待測試主機采用的是AWS 雲服務器選擇瞭兩款測試
1.1.1 t2.micro
t2.micro 性能突進性EC2,也就是AWS global免費套餐那款服務器,配置如下:
t2.micro 性能突進性EC2,也就是AWS global免費套餐那款服務器,配置如下:
型號 | vCPU | ECU | 內存 | 存儲 | 網絡性能 | 價格(小時) |
---|---|---|---|---|---|---|
t2.micro | 1 | 變量 | 1 | 僅限 EBS | 低到中等 | 0.0945 |
單核1G,CPU性能為0.45ECU,性能突進時可以達到2ECU。網絡性能據說20Mbps~100Mbps
PS:EC2 計算單位 (ECU) – 一個 EC2 計算單位 (ECU) 相當於一個 1.0-1.2 GHz 2007 Opteron 或 2007 Xeon CPU 的計算能力。
1.1.2 c5.large
然後選瞭一臺c5.large進行評估
型號 | vCPU | ECU | 內存 | 存儲 | 網絡性能 | 價格 |
---|---|---|---|---|---|---|
c5.large | 2 | 9 | 4 | 僅限 EBS | 高達 10Gb | 0.493 |
雙核4G,性能可以達到9ECU
1.1.3 壓力機
壓力機為同一可用區的內的另一臺c5.large。
1.2 測試工具
1.2.1 測試端
主要采用ab工具進行測試。ab工具可以跑到20000萬的並發,對於單機測試已經夠用瞭。
關於ab工具使用可參考另一篇博客:https://www.jb51.net/article/231502.htm
1.2.2 服務器監控
服務器端監控主要采用AWS後臺cloudwatch服務,在自己top 工具查看cpu 內存的使用情況。
關於top命令使用可以參考另一篇博客:
1.3 測試方法
在express 框架 app.js 直接添加一個test路由並直接返回res.end()。
2 測試數據
2.1 c5.large
我們可以看從圖中看出並發量在2000時,平均響應時間在874.725ms,QPS在2286.43左右,在一臺300多/月左右2核4G服務器上,express框架本身性能表現還不錯。
2.2 t2.micro
我們可以看從圖中看出並發量在300時,平均響應時間在189.191ms,QPS在1585.7左右,70塊/月T2在性能突進的情況數據數據挺好,但也可以從圖中看出並發量在1000以後,整體性能表現就不是很穩定瞭。
3 相關文檔
估計物聯網設備並發量整理的blog:
https://www.jb51.net/article/231516.htm
壓力測試工具ab:
https://www.jb51.net/article/231502.htm
壓力測試的指標及方法:
https://www.jb51.net/article/231518.htm
以上所述是小編給大傢介紹的使用node+Express測試服務器性能,希望對大傢有所幫助。在此也非常感謝大傢對WalkonNet網站的支持!
推薦閱讀:
- 服務器壓力測試概念及方法(TPS/並發量)
- 如何啟動一個Vue.js項目
- Ajax 的初步實現(使用vscode+node.js+express框架)
- node自定義安裝更改npm全局模塊默認安裝路徑的步驟
- Node.js 中使用fetch 按JSON格式發post請求的問題解析