遅いファイルのアップロードをシミュレートするために、接続またはエクスプレスでモードまたは値を設定する方法はありますか??
質問する
1242 次
1 に答える
2
まず、すべての sを調整するストリームをインストールnode-limiter
してから作成します。Transform
Stream
var util = require('util');
var Transform = require('stream').Transform;
var TokenBucket = require('limiter').TokenBucket;
function BucketStream(rate, interval, parentBucket, options) {
Transform.call(this, options);
this.bucket = new TokenBucket(Number.POSITIVE_INFINITY, rate, interval, parentBucket);
}
util.inherits(BucketStream, Transform);
BucketStream.prototype._transform = function(chunk, encoding, callback) {
this.bucket.removeTokens(chunk.length, function(err) {
callback(err, chunk);
});
};
次に、リクエストは次のReadableStream
とおりです。
var bucketStream = new BucketStream(1024 * 500, 'second'); // 500KB/sec
req.pipe(bucketStream);
(reqからではなく) 必要なだけ速く読み取れるbucketStream
ようになりました。500KB/秒しか得られません。
私は頭の上でこれをやったので注意してください:)
于 2014-08-25T14:35:55.650 に答える