node.js と MongoDB/Express でデータ フィード REST サービスを構築しているため、クエリ結果が小さい場合に非常にうまく機能します。ただし、クライアントが 100 万行などの大規模なデータセットをクエリすると、サーバーがハングします (既に圧縮に gzip を使用しています)。これは node.js のシングル スレッド設計が原因ですか?
これを処理するためのアイデアについて相談したいと思います。
どんなコメントでも大歓迎です:)
以下は、サービスに関するコードです (JayData OData サーバー モジュールを使用)。
app.use('/d.svc', $data.ODataServer({
type: TYPE,
CORS: true,
database: 'odata',
responseLimit: -1,
checkPermission: function (access, user, entitySets, callback) {
logger.info('Check Access Permission for User');// + JSON.stringify(user));
if (access & $data.Access.Create) {
if (user == 'admin') callback.success();
else callback.error('Auth failed');
} else callback.success();
},
provider: {
name: 'mongoDB',
databaseName: 'odata',
address: settings.host,
port: settings.port,
username: USER,
password: PASSWORD
}
}));
どうもありがとうございました。
ルーク。