開発者の皆さん、これがこのプラットフォームでの最初の投稿です。 ?
Express.js と SQL に関して私が経験した驚くべき経験を共有したいと思いました。私は初心者の開発者で、プロジェクトの API に取り組んでいる間、1 日あたり 200,000 件を超える API リクエストを処理していました。最初に、Express.js API を使用して SQLite データベース (約 400 MB) をセットアップし、Node.js キャッシュを使用して処理を高速化しました。
クエリには複数の JOIN と検索が含まれていたため、最初は応答時間は約 200 ~ 300 ミリ秒でした。そこで、パフォーマンスを向上できるかどうかを確認するためにいくつかの実験を実行することにしました。
私がやったことは次のとおりです:
その結果は驚きでした!インデックス作成後、複数の JOIN を含むより複雑なクエリの一部は、わずか 3 ~ 5 ミリ秒で実行されました。
以前はノード キャッシュあり:
SQLite インデックスのみを使用した後:
すべてのリクエストは、キャッシュなしで 7 ~ 10 ミリ秒しかかかりません。
クエリが一貫して高速になり、サーバーの負荷も軽減されました。当初、私は 4 GB の RAM と 4 つの vCPU を備えた DigitalOcean ドロップレット上でアプリを実行していました。しかし、SQL クエリを最適化した後は、わずか 2 GB の RAM と 2 つの vCPU で同じワークロードを快適に処理できるようになりました。
これは簡単に聞こえるかもしれませんが、適切な SQL インデックス作成によりクエリのパフォーマンスに大きな違いが生じ、もはやキャッシュに依存する必要さえなくなりました。 ?
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3