168 слов | 1 минута

Сравнение Redis, Memcached и файлового кэша в 1C-Битрикс

Условия теста

  • Ubuntu 22.04
  • PHP 8.2 (FPM)
  • Nginx
  • MariaDB 10.6
  • SSD NVMe
  • 8 ГБ RAM
  • Тестовый сайт: демо-магазин Битрикс
  • Нагрузочный инструмент: wrk -t4 -c50 -d30s

Результаты теста

Тип кэша Среднее время (мс) RPS (req/sec) Комментарий
Файловый (SSD) 41.6 240 Очень стабильно
Redis (без AOF) 36.8 270 Быстрее на \~12%
Redis (с AOF) 39.2 255 Почти как файловый
Memcached 35.9 278 Чуть быстрее Redis
Без кэша 121.5 83 В 3 раза медленнее

Вывод

  1. Все три варианта кэша ускоряют сайт в 2.5-3 раза по сравнению с «без кэша».
  2. Файловый кэш на SSD почти не уступает Redis (разница 10-15%).
  3. Redis и Memcached показывают одинаковую производительность.
  4. Redis с AOF немного медленнее при записи, но сохраняет кэш после рестарта.
  5. Файловый кэш проще и надёжнее, если сайт не кластерный и объём кэша < 1 ГБ.

Рекомендации

  • Один сервер с SSD --- используйте файловый кэш
  • Кластер из нескольких фронтов --- Redis
  • Частые запросы (API, highload) --- Memcached
  • Минимум администрирования --- файловый кэш