ホームページ > 記事 > ウェブフロントエンド > Express.js アプリをスーパーチャージして超高速パフォーマンスを実現するトップ ips
Express.js は、Node.js アプリケーションを構築するための最も人気のあるフレームワークの 1 つです。軽量であるため高速ですが、アプリが成長するにつれてパフォーマンスのボトルネックが発生する可能性があります。このブログでは、Express.js アプリの速度とスケーラビリティを最適化するための 5 つの実践的なヒントを紹介します。
ミドルウェアは Express.js アプリのバックボーンですが、不要なミドルウェアや実装が不十分なミドルウェアは動作を遅くする可能性があります。
必要なミドルウェアのみをロードします: 必要のないルートにはグローバル ミドルウェアを避けます。
例: JSON ペイロードを期待するルートにのみ body-parser を適用します。
const express = require('express'); const app = express(); const bodyParser = require('body-parser'); // Use body-parser only for specific routes app.post('/api/data', bodyParser.json(), (req, res) => { res.send('Data received'); });
キャッシュにより、データベース クエリや API 呼び出しを繰り返す必要性が軽減されます。 Redis や HTTP キャッシュ ヘッダーなどのツールを使用すると、応答時間を大幅に短縮できます。
Redis を使用した例:
const redis = require('redis'); const client = redis.createClient(); const app = require('express')(); app.get('/api/resource', (req, res) => { const cacheKey = 'resource'; client.get(cacheKey, (err, cachedData) => { if (cachedData) { res.send(JSON.parse(cachedData)); } else { const data = fetchDataFromDatabase(); // Simulated DB call client.setex(cacheKey, 3600, JSON.stringify(data)); // Cache for 1 hour res.send(data); } }); });
HTTP キャッシュ:
app.use((req, res, next) => { res.set('Cache-Control', 'public, max-age=3600'); // Cache for 1 hour next(); });
ペイロードが大きいと、応答時間が遅くなる可能性があります。 Gzip 圧縮を有効にすると、ペイロード サイズが削減され、速度が向上します。
const compression = require('compression'); const express = require('express'); const app = express(); app.use(compression()); // Compress all routes
この簡単な追加により、応答サイズを最大 70% 削減できます!
多くの場合、データベース クエリの遅さがアプリのパフォーマンス低下の主な原因となります。
ヒント:
const User = require('./models/User'); // Instead of fetching all users app.get('/users', async (req, res) => { const users = await User.find().limit(20).skip(0); // Use pagination res.send(users); });
HTTP/2 では多重化とヘッダー圧縮が可能で、静的アセットのレイテンシが短縮されます。これを CDN と組み合わせると、静的アセットをユーザーの近くにキャッシュすることで配信がさらに高速化されます。
Express での HTTP/2 のセットアップ:
const http2 = require('http2'); const fs = require('fs'); const express = require('express'); const app = express(); const options = { key: fs.readFileSync('./ssl/key.pem'), cert: fs.readFileSync('./ssl/cert.pem'), }; http2.createSecureServer(options, app).listen(8443, () => { console.log('HTTP/2 server running on port 8443'); });
ミドルウェアの管理、キャッシュ、応答の圧縮、データベース クエリの最適化を効率的に行うことで、パフォーマンスを大幅に向上させることができます。これらのヒントを実装して、アプリが確実に高速になるようにしてください!
このブログが役に立ったと思われた場合は、❤️ アイコンをクリックしてフォローして、JavaScript のヒントとコツをさらにご覧ください。
以上がExpress.js アプリをスーパーチャージして超高速パフォーマンスを実現するトップ ipsの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。