Поделиться через


Устранение неполадок с сервером Redis под управлением Azure (предварительной версии)

В этом разделе рассматривается устранение неполадок, вызванных условиями на сервере Redis под управлением Azure (предварительной версии) или на любой виртуальной машине, на которой он размещается.

Примечание.

Шаги по устранению проблем в этой статье также включают в себя указания по выполнению команд Redis и мониторингу различных метрик производительности. Дополнительные сведения и указания см. в разделе Дополнительные сведения.

Высокая загрузка ЦП

Высокая загрузка ЦП означает, что сервер Redis загружен и не может справиться с запросами, что приведет к истечению времени ожидания. Проверьте метрику ЦП в кэше, выбрав в меню ресурсов слева пункт Мониторинг. Граф ЦП отображается в рабочей области в разделе Аналитика. Также можно добавить набор метрик для ЦП в разделе Метрики.

Ниже приведены некоторые параметры, которые следует учитывать при высокой нагрузке на ЦП.

Масштабирование или повышение уровня производительности

Для повышения производительности вы можете рассмотреть возможность масштабирования до большего размера кэша с большим количеством ядер ЦП. Дополнительные сведения см. в статье Уровни производительности.

Быстрые изменения количества клиентских подключений

Дополнительные сведения см. в разделе Предотвращение пиковых количеств подключений клиента.

Длительно выполняющиеся или ресурсоемкие команды

Дополнительные сведения см. в разделе Длительно выполняющиеся команды.

Масштабирование

Операции масштабирования интенсивно используют ЦП и память, поскольку могут включать перемещение данных по узлам и изменение топологии кластера. Дополнительные сведения см. в статье Масштабирование.

обслуживание сервера;

Если произошел отказ Redis под управлением Azure, все клиентские подключения с узла, который был остановлен, передаются на работающий узел. Нагрузка на ЦП может резко подскочить из-за увеличения числа подключений. Вы можете попытаться перезапустить клиентские приложения, чтобы все клиентские подключения были созданы повторно и распределены между двумя узлами.

Использование большого объема памяти

Нехватка памяти на сервере может стать причиной всевозможных проблем с производительностью, которые вызывают задержку обработки запросов. При нехватке памяти система выгружает данные на диск, что приводит к значительному снижению производительности системы.

Нехватка памяти может возникнуть по следующим причинам:

  • Кэш заполнен данными практически полностью.
  • На сервере Redis наблюдается высокая степень фрагментации памяти.

Фрагментация, скорее всего, будет вызвана тем, что шаблон нагрузки хранит данные с высокой вариацией в размерах. Например, фрагментация может произойти, когда данные распределены по размеру 1 КБ и 1 МБ. Когда ключ размером 1 КБ удаляется из существующей памяти, то ключ размером 1 МБ не может вместиться в нее, вызывая фрагментацию. Аналогичным образом, если ключ размером 1 МБ удаляется и добавляется ключ размером 1,5 МБ, он не может вместиться в существующую освобожденную память. Это вызывает неиспользуемую, свободную память и приводит к большей фрагментации.

Если значение used_memory_rss превышает показатель метрик used_memory более чем в 1,5 раза, то память фрагментирована. Фрагментация может вызвать проблемы в следующих случаях:

  1. Использование памяти приближается к максимальному пределу памяти для кэша.
  2. Значение UsedMemory_RSS выше максимального предела памяти, что может привести к сбою страниц в памяти.

Если кэш фрагментирован и выполняется при высокой нехватке памяти, система выполняет отработку отказа для восстановления памяти резидентного набора (RSS).

Если выполнить команду INFO, которая помогает определить эту проблему, Redis предоставит два статистических показателя: used_memory и used_memory_rss. Эти метрики можно просмотреть на портале.

Настроить оптимальное использование памяти можно несколькими способами.

Дополнительные сведения см. в статье Рекомендации по управлению памятью.

Долго выполняющиеся команды

Дополнительные сведения см. в разделе Длительно выполняющиеся команды.

Ограничение пропускной способности на стороне сервера

Дополнительные сведения см. в разделе Ограничение пропускной способности сети.

Дополнительная информация: