Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

Node.js doesn't have a predictive way to manage traffic spikes, so over-provisioning for peak loads isn't optimized for the stable periods that follow. We've all faced this issue. This is why Platformatic is simplifying multithreading in our Node.js app server. Let’s see why🧵

31,763 Aufrufe • vor 1 Jahr •via X (Twitter)

13 Kommentare

Profilbild von Matteo Collina
Matteo Collinavor 1 Jahr

Node.js applications are usually deployed as single-threaded: ↳Each instance operates as a single process. ↳Organizations overprovision to handle traffic spikes. ↳This leads to wasted resources and increased costs.

Profilbild von Matteo Collina
Matteo Collinavor 1 Jahr

↳Additionally, heavy computations can block the event loop, causing performance and user experience issues.

Profilbild von Matteo Collina
Matteo Collinavor 1 Jahr

What’s clear is that we need to rethink our approach to infrastructure. This is why @platformatic’s Watt app server now supports service replication. By starting multiple workers, you can now fully utilize all the CPU cores available on your server, providing the best possible user experience.

Profilbild von Matteo Collina
Matteo Collinavor 1 Jahr

Most importantly, this is all done without requiring any code changes on your part.

Profilbild von Matteo Collina
Matteo Collinavor 1 Jahr

What does this mean for your application’s performance? Hint: it’s great news.

Profilbild von Matteo Collina
Matteo Collinavor 1 Jahr

As an example, let’s analyze a basic Next.js application running within Watt. *This test was conducted on an Apple MacBook Pro with an M1 Max chip.

Profilbild von Matteo Collina
Matteo Collinavor 1 Jahr

When subjected to 100 connections using autocannon over a span of 10 seconds, the system produced the following performance metrics:

Profilbild von Matteo Collina
Matteo Collinavor 1 Jahr

Upon examining the top data, we found that only 3 out of the 10 available cores were actually utilized. We then repeated the test, increasing the number of `workers` to 2, and here are the results:

Profilbild von Matteo Collina
Matteo Collinavor 1 Jahr

This shows an impressive performance boost—almost a 100% improvement—simply by changing one line in a JSON file.

Profilbild von Matteo Collina
Matteo Collinavor 1 Jahr

Finally, we repeated the test, this time using 3 workers for the service.

Profilbild von Matteo Collina
Matteo Collinavor 1 Jahr

What were the results? • 1 Worker: P99 latency 309 ms; 5k requests in 10s • 2 Workers: P99 latency 197 ms; 10k requests in 10s • 3 Workers: P99 latency 161 ms; 11k requests in 10s

Profilbild von Matteo Collina
Matteo Collinavor 1 Jahr

Upon reviewing the top data once more, we found that all 10 CPU cores of the machine were fully utilized.

Profilbild von Matteo Collina
Matteo Collinavor 1 Jahr

With the introduction of multiple workers, we're transforming how Node.js services scale and perform. I can’t wait to see you all try it out!

Ähnliche Videos

This is so peak, why is he so peak
0:31

Sensitive content

This is so peak, why is he so peak

aeeraa.

83,384 Aufrufe • vor 10 Monaten