Performance Notes & Troubleshooting

Practical tuning tips for Redis on Windows across Memurai, WSL2, and the direct Windows build — plus common issues and fixes.

Performance basics

  • Memory sizing: ensure enough RAM for your dataset and overhead. Watch for eviction policies that might kick in under pressure.
  • Persistence trade‑offs: snapshots are lighter but less granular; AOF increases durability at a write‑amplification cost. Pick what fits your risk profile.
  • Latency hygiene: avoid oversized values and chatty small writes; batch where it makes sense.
  • Warm‑up and caches: benchmark with warmed caches and realistic command mixes.

Windows‑specific tips

  • Antivirus exclusions: exclude the Redis/Memurai data and log folders to reduce I/O stalls.
  • Firewall rules: allow only required local ports (typically 6379). Avoid broad inbound rules.
  • Power profile: use a balanced or performance power plan on laptops to avoid CPU throttling under load.
  • Disk type: prefer SSD/NVMe for persistence‑heavy workloads.

Memurai notes

  • Service startup: confirm the Windows Service is set to Automatic and starts cleanly after reboots.
  • Logging: check logs for slow I/O or persistence warnings and adjust configuration accordingly.
  • Port conflicts: verify 6379 is free or move to an alternate port.

WSL2 notes

  • Localhost routing: modern WSL2 often allows localhost access from Windows. If not, use the distro IP.
  • Autostart: configure the Redis service to start when the distro launches; consider starting the distro at login if needed.
  • File I/O: keep Redis data inside the Linux filesystem for better performance vs. Windows‑mounted paths.

Troubleshooting

  • Port already in use: another process is bound to 6379. Stop it or change the Redis/Memurai port; update client settings accordingly.
  • Service not starting: check Windows Event Viewer or service logs for configuration errors and missing permissions.
  • WSL2 won’t start: ensure WSL and virtualization features are enabled; reboot and verify distro health.
  • Cannot connect from .NET: confirm the correct host/port, credentials (if any), and that the firewall allows local connections.
  • High latency spikes: review AV exclusions, persistence fsync policy, and batch small commands where possible.
  • Data loss after restart: persistence may be disabled or too infrequent; increase snapshot frequency or enable AOF as needed.
  • Memory pressure: set appropriate max memory and eviction policy for your workload characteristics.

See .NET Guide for client‑side health checks and connection tips.

Quick local run

Need a fast local start on Windows? Use the convenience Windows build (Cygwin‑based) with service support.

Direct Download (ZIP)

Not an official Windows release by Redis Ltd.; provided for convenience.