Просто начните вводить кеширование в новое приложение Rails. Сначала мы установили cache_store для использования :memory_store
в application.rb
config.cache_store = :memory_store
Затем я провел некоторые тесты производительности через NewRelic, чтобы увидеть производительность до/после кэширования модели.
После этого я переключил cache_store на использование: dalli_store, так как в настоящее время рекомендуется использовать gem для использования memcached с Rails.
config.cache_store = :dalli_store
Затем я повторю то же самое до/после тестов кеширования с memcached. Все еще было очевидное улучшение между кэшированным или не кэшированным запросом/ответом; однако производительность кэширования memcached в два раза медленнее (примерно) в качестве стандартного Rails: memory_store.
Просто для выяснения, во время этих тестов я запустил сервер memcached локально в веб-приложении rails, чтобы избежать добавления проблем с задержкой в сети.
Все это приводит меня к следующим реальным вопросам.
-
Является ли типичным, чтобы увидеть более высокую производительность от
:memory_store
более:dalli_store
? -
Если это не типично, есть ли какие-то "трюки", которые я не знаю помимо стандартной настройки, необходимой для получения надлежащей производительности от memcached?
-
Если это типично, то почему люди, использующие memcached и: dalli_store на Rails, в первую очередь? Это вопрос масштабируемости и т.д.?