Skip to main content

2 posts tagged with "performance"

View All Tags

Enhancing Observability: Distributed Tracing with OpenTelemetry

· 3 min read
Christian Roessner
Maintainer of Nauthilus

In modern distributed systems, understanding why a request is slow or where it fails can be challenging. This is especially true for authentication services like Nauthilus, which often interact with multiple backends like Redis, LDAP, or custom Lua scripts. To address this, Nauthilus provides built-in support for distributed tracing via OpenTelemetry (OTel).

With OpenTelemetry enabled, Nauthilus emits spans for every incoming request, allowing you to visualize the entire execution path—from the initial HTTP call to internal processing and backend interactions.

Load and Performance Testing with the Nauthilus CSV Test Client

· 8 min read
Christian Roessner
Maintainer of Nauthilus

This guide is for anyone who wants a quick, reliable way to see how Nauthilus handles authentication under load. In a few minutes you’ll drive realistic requests from a CSV and get clear counters for throughput and failures—perfect for spotting regressions and finding safe limits.

If you just want the commands, start with the TL;DR below. The rest of the article explains scenarios, tips, and tuning—everything verified against the repository files client/README.md and client/nauthilus-testing.yml.

TL;DR

  1. Build the client
cd client
go build -o nauthilus-testclient
  1. Start the server with the test config
TESTING_CSV=client/logins.csv ./nauthilus -config client/nauthilus-testing.yml -config-format yaml
  1. Run a small load
./nauthilus-testclient --csv ./client/logins.csv --concurrency 8 --rps 40 --json-ok

You’ll see total/failed requests and throughput. Increase --rps/--concurrency to explore limits.