rembrembdocs

Move from Development to Production with Redis Search

Transitioning a Redis Open Source with Redis Search environment from development to production requires thoughtful consideration of configuration, performance tuning, and resource allocation. This guide outlines key practices to ensure your Redis deployment operates optimally under production workloads.

Configuration parameter considerations

Redis Search offers several configurable parameters that influence query results and performance. While a full list of these parameters and their functions can be found here, this section highlights the most commonly adjusted parameters for production environments.

1. TIMEOUT

2. MINPREFIX

3. MAXPREFIXEXPANSIONS

4. DEFAULT_DIALECT

Testing

1. Correctness

2. Performance

Sizing requirements

Redis Search has resource requirements distinct from general caching use cases. Proper sizing ensures that the system can handle production workloads efficiently.

Key considerations:

  1. CPU:
    • Adequate CPU resources are critical.
    • Ensure CPUs are not over-subscribed with search threads and shard processes.
  2. RAM:
    • Plan for sufficient memory to store the dataset and indexes, plus overhead for operations.
  3. Network:
    • High throughput and low latency are essential, particularly for applications with demanding query patterns.

Tools:

Demand spikes

Production environments must be sized for peak load scenarios to ensure performance remains acceptable under maximum stress.

Recommendations:

  1. Plan for Spikes:
    • If query workloads are expected to vary significantly, ensure the infrastructure can handle peak loads.
    • Monitor real-world usage patterns and adjust capacity as needed.
  2. Autoscaling:
    • Consider using autoscaling strategies in cloud environments to dynamically adjust resources based on load.

By following these best practices, you can ensure a smooth and efficient transition from development to production with Redis Open Source and Redis Search. Proper configuration, rigorous testing, and careful resource planning are critical to delivering a reliable and high-performance Redis deployment.

On this page