GraphQL Performance Techniques

GraphQL is a query language which is being adopted more and more throughout the community. By combining type validation with a query and filtering syntax it is simple to set up a powerful web API in a short amount of time.

Running parallel queries or update-all are much easier because these features are first class citizens of GraphQL. Additionally GraphQL has a vibrant community that continually creates excellent tooling and documentation which makes it easy to see why GraphQL has become so popular with developers.

Every abstraction has a cost, and GraphQL is no exception. The added complexity and a new schema format to parse and execute mean new performance bottlenecks.

Apart from performance issues, using GraphQL incorrectly can produce architectural bottlenecks. Rather than seeing that as a problem, we approached it as a challenge.

In this talk we’ll cover what GraphQL is, why it’s great and how we made it run a lot faster on Node.js, in fact *much* faster, using different performance techniques that we have learned in the last few years.

As a Technical Director at NearForm, Matteo Collina consults for some of the top brands of the world. Matteo is a member of the Node.js Technical Steering Committee focusing on streams, diagnostics and http. He is also the author of Node.js MQTT Broker, Mosca, the fast logger Pino and of the Fastify web framework.

Mathias Buus is Senior Developer at NearForm and author of multiple distributed system libraries based on Node.js, the main focus of his technical interest. He is the key architect of the Dat protocol, and in his spare time acts as the chief of research at Beaker Browser, a Dat powered web browser.

Need help with GraphQL for your next project? Contact us today to see how we can help!

Don’t miss a beat

Get all the latest NearForm news,
from technology to design.
Sign Up
View all posts  |  Technology  |  Business  |  Culture  |  Opinion  |  Design
Follow us for more information on this and other topics.
Published by Matteo Collina