Skip to content

Remover 5 concurrent connection limit for GCS? #522

Closed
@jgeewax

Description

@jgeewax

Using the following sample code:

// Include required NPM dependencies
var express = require('express');
var gcloud = require('gcloud');

// Initialize app and GCloud GCS module
var app = express();
var gcs = gcloud.storage({ projectId: '...', keyFilename: './key.json' });

// Create one route to proxy a file from GCS
app.get('/my-file.zip', function(req, res) {
  var bucket = gcs.bucket('my-bucket');
  var file = bucket.file('my-file.zip');
  var readStream = file.createReadStream();
  return readStream.pipe(res);
});

// Listen on a port
app.listen(8080);

We're seeing that we're limited to 5 concurrent connections to GCS. This sucks when the server running this code can handle far more than 5 concurrent connections -- as we're shoving N connections through a 5-connection pipe.

From @robertdimarco:

By default, requests to GCS are pooled and limited to 5 concurrent connections.

Node.js, prior to v0.12 or io.js, automatically pools outbound requests to five concurrent requests per host. This can be overridden globally per-application or on a per-package basis. Our prior integration with AWS / S3 had disabled this limit at the package level, anticipating our use case. Node.js v0.12 and io.js both remove this pooling altogether.

Can we remove the connection pooling limits for our server process altogether ? (also see https://github.com/substack/hyperquest#rant)

Metadata

Metadata

Labels

api: storageIssues related to the Cloud Storage API.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions