開發者您好,這是我在這個平台上的第一篇文章! ?
我想分享我在 Express.js 和 SQL 方面的令人驚訝的體驗。我是一名初學者開發人員,在為我的專案開發 API 時,我每天處理超過 20 萬個 API 請求。最初,我使用 Express.js API 設定了一個 SQLite 資料庫(約 400 MB),並使用 Node.js 快取來加快速度。
起初,查詢的回應時間約為 200-300 毫秒,因為它涉及多個 JOIN 和搜尋。因此,我決定進行一些實驗,看看是否可以提高效能。
這就是我所做的:
結果令人驚訝!建立索引後,我的一些更複雜的查詢(涉及多個 JOIN)只需 3-5 毫秒即可執行。
以前,使用節點快取:
之後,僅使用 SQLite 索引:
每個請求只需要7-10毫秒沒有任何快取。
現在查詢始終很快,這也減少了伺服器負載!最初,我在具有 4 GB RAM 和 4 個 vCPU 的 DigitalOcean Droplet 上運行我的應用程式。但優化 SQL 查詢後,我只需 2 GB RAM 和 2 個 vCPU 就可以輕鬆處理相同的工作負載。
我知道這聽起來很簡單,但是正確的 SQL 索引對查詢效能產生了很大的影響,我甚至不再需要依賴快取。 ?
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3