簡體   English   中英

Node.js REST Api的端到端分析

[英]End to end profiling of nodejs REST Api

我已經編寫了一個Nodejs api,它將使用5000個並發請求進行訪問。 我已經使用Jmeter測試了5,000個並發用戶的api。 最初,該API占用的時間很少,但是在請求1000次后,需要2秒才能完成請求。 api代碼執行時間為400毫秒,由請求開始和結束的時間差計算得出。

有沒有一種方法可以檢查API請求在事件循環中等待其他請求完成的時間? 有什么工具可以幫助端到端地分析API?

Node.js支持使用--prof標志進行分析,請參見例如https://nodejs.org/en/docs/guides/simple-profiling/ (以及互聯網上的許多其他文檔和教程)。 那沒有回答“這個特定的請求是做什么或等待什么?”,而是回答“節點進程花了什么時間在做什么?”。 -希望兩個問題都具有相同的答案。

除此之外,我建議您簡化設置,以縮小問題范圍。 如果您僅在一個內核上運行(請求較少),問題仍然存在嗎? 如果您減少並發請求的數量,問題仍然存在嗎? 在極端情況下,如果您連續發送請求,問題是否還會發生? 您越能簡化事情,就越容易知道正在發生的事情。

可能是您的實現泄漏了某些資源(內存,文件處理程序等),使事情隨着時間的推移變慢了。 5000個並發請求可能僅僅是您的四核無法處理的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM