Skip to content
0:00 / 0:00

#nats#nats-jetstream#benchmarking

Benchmark Core NATS & NATS JetStream using the NATS CLI tool

NATS

2.3K subscribers • 1 video on Hallway

YouTube
  • Recommended by 1 person: 1 on Stack Overflow and its sister sites.
  • Presented by Jean-Noel Moyne, Technical Solutions Lead at Synadia
  • Linked in the descriptionnats-io/natsclinats-io/nats-servernats-io/nats-top
  • Made by the vendor. The company whose product it covers made or sponsored it.

Intermediate. Assumes working knowledge.

7K views4 years ago1 recommendation

Distributed systemsSystems programmingKafka and stream processingPerformance and optimization

Jean-Noel Moyne demonstrates how to use the NATS CLI tool to benchmark Core NATS and JetStream performance.

In this video, Jean-Noel Moyne, Technical Solutions Lead at Synadia, shows how you can easily use the NATS CLI tool to test and benchmark Core NATS and JetStream NATS functionality in order to generate your own set of benchmark numbers using your own target environment. For demonstration purposes, this benchmark is being run on a standard 2021 16" Intel MacBook Pro. Reference Links NATS nats.io, github.com/nats-io NATS Docs docs.nats.io NATS CLI tool: github.com/nats-io/natscli/releases NATS server: github.com/nats-io/nats-server/releases NATS-top tool: github.com/nats-io/nats-top/releases More questions? Join us on Slack slack.nats.io!

Why it's here

1 person recommends this

What people say. Recommended for understanding how to benchmark and compare the performance of Core NATS and NATS JetStream.

JNMon Stack Overflow • Recommends

On “Performance of NATS Jetstream”

Publishing in NATS JetStream is slightly different than publishing in Core NATS. Yes, you can publish a Core NATS message to a subject that is recorded by a stream and that message will indeed be captured in the stream, but in the case of the Core NATS publication, the publishing application does not expect an acknowledgement back from the nats-server, while in the case of the JetStream publish call, there is an acknowledgement sent back to the client from the nats-server that indicates that the message was indeed successfully persisted and replicated (or not). So when you do js.Publish() you are actually making a synchronous relatively high latency request-reply (especially if your replic…