Saltearse al contenido

Esta página aún no está disponible en tu idioma.

Performance Tuning

ALTCHA Sentinel is built for production use with minimal operational configuration and no external dependencies such as databases or services. The official Docker image includes everything needed for a smooth deployment, including built-in databases.

The default setup should support approximately 2,000 requests per second (RPS) on critical endpoints like /v1/challenge and /v1/verify, with rate-limiting and logging enabled. This throughput is sufficient for many use cases. However, if you need to optimize performance further, review the tuning tips below.

Scaling Up

You can scale ALTCHA Sentinel either vertically or horizontally depending on your needs:

  • Single-instance deployments:
    Scale vertically by adding more CPU cores or vCPUs to take advantage of multi-threading. RAM beyond 16GB typically offers no additional benefit.

  • Multi-instance deployments:
    Scale horizontally by deploying multiple instances. For this, refer to the Clustering guide. Horizontal scaling requires an Enterprise license.

Redis Optimization

ALTCHA Sentinel includes a built-in Redis-compatible (partial compatibility) database for seamless deployment. However, it is not as performant as the official Redis or Valkey implementations.

While the built-in Redis-like store is suitable for low-to-moderate workloads, we recommend using an external Redis 7+ or Valkey 7+ instance or HA cluster for higher performance and throughput. Internal testing shows that Redis 7 can be up to 8x faster than the built-in database.

Why Redis Matters

Redis is primarily used to store rate-limiting data, and is accessed with every request when rate limiting is enabled. This makes it a potential performance bottleneck.

Requirements

  • Requires a Redis 7 compatible database (supports the EXPIRE [NX] command)
  • Recommended options: Redis 7+ or Valkey 7+

Primary Database and Storage Volumes

The built-in primary database stores persistent data on a volume attached to the container. If the volume has low throughput, it may negatively impact system performance.

Although Sentinel uses in-memory caching for API keys and configurations, request logs are written directly to the database with every request when logging is enabled. To minimize database I/O:

  • Disable request logging entirely in the API Keys settings, or
  • Enable logging only for verification requests

This reduces disk write operations and improves overall performance.