New automatic concurrency defaults for Node.js applications

Change effective on 17 February 2015

Node.js applications on Heroku can now automatically scale the number of processes clustered at dyno boot time by taking into account the configured memory limit of the application and the memory available to the respective dyno size.

In practice, this means that changing the memory limit from 512 MB to 256 MB will automatically result in doubling the number of Cluster workers. Scaling from a “1X” to a “2X” dyno size would also double the level of concurrency.

This automatic setting can be overridden at any time using the WEB_CONCURRENCY environment variable.

A new Dev Center article on optimizing Node.js application concurrency contains further information and helpful hints for getting the best performance out of every dyno.