背景介紹
最近,我們發起了一個在線圖書管理系統的項目。我負責的一個關鍵模塊包括三個主要後台接口:
- 實現對
books數據的檢索。 - 實施對
likes數據的獲取。 - 通過
collections端點訪問數據。
應對高流量的挑戰
在設計並部署接口時,我們不可避免地需要考慮關鍵的問題:
- 你製作的產品會不會面臨大量的訪問需求?
- 你的接口和服務器是否能夠處理如此高的用户訪問量?
歸根結底,問題是:"你的服務器和接口是否準備好應對高併發環境?"
什麼是"高併發"?想象一下,假如一個地鐵站只有一個出入口,能在10秒內允許10000人通過嗎?
這顯然是不現實的。解決方法就在於如何優化這個地鐵站的出入口。
高流量模擬測試
顯然,優化之後不能立即上線。在正式啓動前,必須進行嚴格的高併發模擬測試,確保你的接口和服務器是否能抵禦預期內的壓力。
使用 Postman 進行壓力測試
構建集合和接口
首先,在 Postman 中創建一個集合並按順序添加以下內容:
- 獲取
books數據的接口。 - 獲取
likes數據的接口。 - 訪問
collections數據的接口。
為了確保一切正常,我們需要在Test中加入斷言檢查。
pm.test('返回數據是 books', () => {
console.log(pm.response.text())
pm.expect(pm.response.text()).to.include('books')
})
發送請求後,會發現接口響應成功,所有斷言檢查也全部通過。
執行高併發模擬
然而,發送單個請求並不能滿足我們仿真真實環境的需求。我們需要的是:
- 批量請求發送。
- 頻繁的請求發送。
為此,我們需要使用 Postman 提供的Runner功能。
接下來的步驟如下:
- 第一步:把整個集合拖拽到測試區域。
- 第二步:設置併發迭代的數量。
- 第三步:確定每次併發執行之間的延遲。
- 第四步:通過點擊開始按鈕來啓動高併發模擬。
隨後,系統會生成詳細的測試結果報告:
知識擴展:
瞭解更多 Postman 相關使用技巧:
- 如何在 Postman 中設置 Content-Type?
- Postman Runner 使用指南