我們有一個使用 mongoDB Atlas 的 expressJS API,它將實時部署到 AWS。我們希望在用戶開始使用此 API 之前對其進行壓力和負載測驗。
問題是是在本地執行負載測驗,還是在測驗環境中部署到 AWS 并對部署的 API 進行負載測驗。
有人可以就這個問題提供任何建議嗎?
uj5u.com熱心網友回復:
如果您能夠啟動具有相同規格的本地環境,例如云 - 結果應該沒有差異或差異很小。
但是您需要確保本地是確切的副本,包括:
- CPU的數量和頻率
- 記憶體
- 網路和磁盤 IO
- 網路延遲(如果您在歐洲并且云在澳大利亞,您應該在地理位置靠近服務器的地方運行測驗,否則您會看到更高的回應時間,因為資料包需要一些時間才能在全球范圍內傳播)
- 等等。
如果沒有 - 您仍然可以對與 Mongo 不直接相關的方面進行一些測驗,即使用分析器工具來查找可能有問題的代碼部分等。
您不應該使用 10 英尺長的桿子的唯一方法是針對縮小的環境運行負載測驗
uj5u.com熱心網友回復:
以盡可能接近您的請求負載和資料的方式構建 API 的 AWS 測驗版本是最準確的測驗方法。
確定您的 API 是否會按照您期望的方式在生產中執行的最可靠方法是模擬生產環境并盡可能接近地加載。如果你有速度很快的 Macbook Pro,它可能會比環境 AWS 更快地對你的 API 的單個實體運行操作。另一方面,某些 AWS 產品可能會擴大/縮小您的服務以滿足需求。任何這些都可能降低本地測驗的準確性。
這是關于設定負載測驗的更深入的文章。它介紹了如何測量資料負載、用戶和查詢以最好地模擬負載: https ://developers.redhat.com/blog/2015/04/30/how-to-load-test-and-tune -performance-on-your-api#preparation
話雖如此,這是一個新的 API。有多少用戶將在前兩周增加您的應用程式?每秒多少個請求?如果您只是想確保不會在回圈或其他東西中留下任何 4x 嵌套查詢,那么在本地進行測驗可以為您提供一些資訊。如果您要向 100 個朋友和家人推出測驗 CRUD 應用程式,請考慮推遲構建大量測驗基礎設施以優化一百萬用戶的性能,直到您有更多經過驗證的需求。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/453600.html
上一篇:無法在單元測驗中模擬服務
