正在加载视频...

视频加载失败

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 次观看 • 1 年前 •via X (Twitter)

13 条评论

Matteo Collina 的头像
Matteo Collina1 年前

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.

Matteo Collina 的头像
Matteo Collina1 年前

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

Matteo Collina 的头像
Matteo Collina1 年前

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.

Matteo Collina 的头像
Matteo Collina1 年前

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

Matteo Collina 的头像
Matteo Collina1 年前

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

Matteo Collina 的头像
Matteo Collina1 年前

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.

Matteo Collina 的头像
Matteo Collina1 年前

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

Matteo Collina 的头像
Matteo Collina1 年前

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:

Matteo Collina 的头像
Matteo Collina1 年前

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

Matteo Collina 的头像
Matteo Collina1 年前

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

Matteo Collina 的头像
Matteo Collina1 年前

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

Matteo Collina 的头像
Matteo Collina1 年前

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

Matteo Collina 的头像
Matteo Collina1 年前

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!

相关视频

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 次观看 • 9 个月前