Почему системный кеш загружается на 100

Обновлено: 02.07.2024

BigMemory 4.3.9 | О BigMemory Max | Основы кэширования | Насколько ускорится приложение с кэшированием?

В приложениях, которые связаны с вводом-выводом, а это большинство бизнес-приложений, большая часть времени отклика приходится на получение данных из базы данных. В системе, где каждый фрагмент данных используется только один раз, нет никакой выгоды. В системе, где большая часть данных используется повторно, ускорение является значительным.

Следующие примеры показывают, как применить закон Амдала к обычным ситуациям. Для простоты мы предполагаем:

Один сервер.

Система с одним элементом, который при кэшировании получает 100% попаданий в кэш и живет вечно.

Hibernate Session.load() для одного объекта примерно в 1000 раз быстрее из кэша, чем из базы данных. .

Типичный запрос Hibernate возвращает список идентификаторов из базы данных, а затем пытается загрузить каждый из них. Если используется Session.iterate(), Hibernate возвращается к базе данных для загрузки каждого объекта.

Представьте себе сценарий, в котором мы выполняем запрос к базе данных, который возвращает сто идентификаторов, а затем загружает каждый из них. Запрос занимает 20% времени, а загрузка туда и обратно занимает оставшееся время (80%). Сам запрос к базе данных занимает 75% времени, которое занимает операция. Таким образом, доля ускорения составляет 60% (75% * 80%).

Наблюдаемое ускорение за счет кэширования веб-страницы составляет 1000 раз. BigMemory Max может извлечь страницу из фильтра SimplePageCachingFilter за несколько миллисекунд.

Кэширование всей страницы — это большая победа. Иногда требования к живости различаются в разных частях страницы. Здесь можно использовать SimplePageFragmentCachingFilter.

Статические веб-страницы или фрагменты веб-страниц, например нижние колонтитулы.

Справочные данные базы данных, такие как валюты в мире.

Живость — насколько живыми должны быть данные. Высокая живость означает, что данные могут часто меняться, поэтому значение в кеше скоро устареет. Низкая живость означает, что данные изменяются редко, поэтому значение в кеше часто будет соответствовать текущему реальному значению некэшированных данных. Как правило, чем менее актуален элемент данных, тем больше его можно кэшировать.

Доля кэшированных данных — какая часть данных может соответствовать ограничениям ресурсов компьютера. Для 32-разрядных систем Java существовало жесткое ограничение в 2 ГБ адресного пространства. В 64-битных системах такого ограничения нет, но проблемы со сборкой мусора часто делают непрактичным использование большой кучи Java. Для удаления лишних записей используются различные алгоритмы исключения.

Форма распределения использования — если только 300 из 3000 записей могут быть кэшированы, но применяется распределение Парето (правило 80/20), может быть так, что в 80% случаев эти 300 будут запрашиваемыми. Это увеличивает средний срок жизни запроса.

Соотношение чтения/записи — отношение количества считываний данных к частоте их записи. Такие вещи, как количество пустых номеров в гостинице, часто меняются и часто записываются. Однако сведения о комнате, такие как количество кроватей, неизменяемы, и поэтому максимальное количество операций записи, равное 1, может привести к тысячам операций чтения.

BigMemory Max хранит эту статистику для каждого кеша и каждого элемента, поэтому ее можно измерить напрямую, а не оценить.

Предположим, что балансировщик нагрузки циклического перебора, при котором каждое обращение переходит к следующему серверу. Кэш имеет одну запись с переменным сроком жизни запросов, например, вызванным настройкой времени жизни (TTL). В следующей таблице показано, как этот срок службы может повлиять на количество попаданий и промахов.

Вход
Продолжительность жизни Коэффициент попаданий Коэффициент попаданий Коэффициент попаданий
в число попаданий 1 сервер 2 сервера 3 сервера 4 сервера
2 1/2 0/2 0/2 0/2
/>4 3/4 2/4 1/4 0/4
10 9/10 8/10 7/10 6/10
20 19/20 18/20 17/20 16/10 < бр />50 49/50 48/50 47/20 46/50

Там, где срок жизни велик по сравнению с количеством автономных кэшей, эффективность кэша не сильно снижается. Однако, когда срок службы короткий, эффективность кэш-памяти резко снижается. Эту проблему можно решить, используя возможности распределенного кэширования, предоставляемые BigMemory Max. При распределенном кеше записи, помещаемые в локальный кеш, распространяются на другие серверы в кластере.

1 / ((1 – пропорциональное ускорение * эффективная эффективность кэша) +
(пропорциональное ускорение * эффективная эффективность кэша) / ускорение)

Применив эту формулу к более раннему примеру кэша веб-страницы, где эффективность кэша составляет 35 %, а средняя продолжительность жизни – 10 запросов и два сервера:

эффективность кеша = 0,35
эффективность кластера = ,(10 - 1) / 10
= 0,9
эффективная эффективность кеша = 0,35 * 0,9
= 0,315

ускорение системы:
1 / ((1 - 1 * .315) + 1 * .315 / 1000)
= 1 / (.685 + .000315)
= 1,45 раза ускорение системы

эффективность кэша = 0,70
эффективность кластера = ,(10 - 1) / 10
= 0,9
эффективная эффективность кэша = 0,70 * 0,9
= 0,63

ускорение системы:
1 / ((1 - 1 * 0,63) + 1 * 0,63 / 1000)
= 1 / (0,37 + 0,00063)
= 2,69 раза ускорение системы

эффективность кэша = 0,90
эффективность кластера = ,(10 - 1) / 10
= 0,9
эффективная эффективность кэша = 0,9 * 0,9
= 0,81

ускорение системы:
1 / ((1 - 1 * 0,81) + 1 * 0,81 / 1000)
= 1 / (0,19 + 0,00081)
= 5,24 раза ускорение системы

Выгода огромна, поскольку закон Амдала наиболее чувствителен к доле ускоренной системы.


Не уверен, заметили ли вы, но открытие приложения или посещение веб-сайта в первый раз может занять некоторое время.

Хорошо, "пока" может быть чрезмерным, но эти дополнительные несколько секунд времени загрузки имеют значение для нас при просмотре веб-страниц или прокрутке наших приложений.

Хотя это не случайно. В основном это связано с тем, что на наших устройствах нет кэшированных данных для определенного приложения или веб-сайта.

Если вы не совсем понимаете, что такое кешированные данные, давайте кратко рассмотрим их.

Что такое кэшированные данные на моем телефоне?

Кэшированные данные – это файлы, сценарии, изображения и другие мультимедийные файлы, которые сохраняются на вашем устройстве после открытия приложения или посещения веб-сайта в первый раз. Затем эти данные используются для быстрого сбора информации о приложении или веб-сайте при каждом повторном посещении, что сокращает время загрузки.

Что такое кешированные данные?

С каждым открытым приложением или посещенным веб-сайтом происходит обмен информацией.

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

Тогда есть кешированные данные.

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

Метод сохранения данных кеша или файлов кеша в качестве истории на телефоне или веб-браузере для улучшения взаимодействия с пользователем при будущих посещениях веб-сайта или приложения называется кэшированием.

Как работают кэшированные данные?

Чтобы кешированные данные сохранялись для повторного доступа, на вашем устройстве должно быть достаточно памяти или места для хранения. С технической точки зрения кэш занимает очень высокое место в иерархии компьютерной памяти. Вот изображение этой иерархии для справки:

иерархия памяти компьютера

Сразу под регистром ЦП — небольшими строительными блоками процессора компьютера — находится несколько уровней кэш-памяти.

  • L1 или уровень 1 – это основной уровень кэш-памяти, встроенный в микросхему микропроцессора.
  • L2 и L3, или уровни 2 и 3, являются вторичным уровнем кэша, который питает L1. Он медленнее L1 на наносекунды.

Кэш-память имеет чрезвычайно низкую задержку, что означает очень быстрый доступ к ней. Вы можете проверить это, открыв новое приложение или посетив веб-сайт, на котором вы никогда раньше не были, а затем повторно посетить его и сравнить скорости.

Примечание. Второй раз должен быть заметно быстрее.

Обратной стороной низкой задержки является то, что можно хранить не так много памяти. Вот почему файлы небольшого размера, такие как веб-текст и изображения, хранятся в кеше.

Важны ли кешированные данные?

Кэшированные данные не важны сами по себе, так как они считаются только «временным хранилищем». Однако он существует для улучшения взаимодействия с пользователем.

Элементы на странице, такие как изображения, видео и даже текст, загружаются некоторое время. Когда эти данные кэшируются, мы можем снова открыть приложение или повторно посетить страницу с уверенностью, что это не займет много времени.

Кэш-память также сохраняет состояния. Например, если я закрою свое приложение Twitter и снова открою его через 10 минут, я смогу прокрутить вниз и увидеть сообщения, которые были загружены ранее. Без кэша все пришлось бы перезагружать.

Должен ли я очистить кеш?

Итак, если кешированные данные не так важны, безопасно ли их стирать? Ну, это зависит.

Если вы обнаружите, что память вашего мобильного устройства истощается из-за кэшированных данных, вам, вероятно, следует очистить ее. В конце концов, кешированные данные не являются жизненно важными для производительности приложения или веб-сайта; это просто означает, что файлы на нем должны быть перезагружены.

Однако постоянная очистка кеша не является постоянным решением, поскольку в какой-то момент вам придется повторно открывать приложения и повторно посещать веб-сайты. Данные будут повторно кэшированы, и цикл продолжится.

Если вам не хватает памяти, рассмотрите возможность удаления старых текстовых сообщений, изображений или видеофайлов со своего устройства. Также стоит изучить облачное хранилище файлов и программное обеспечение для обмена, такое как Google Drive или Dropbox, если вы хотите сохранить свои файлы. Эти варианты обычно предлагают бесплатное пространство в облаке.

Как очистить кешированные данные

Если вы всецело хотите очистить кеш, вот как это сделать в разных операционных системах:

Очистить кеш на iPhone

Следуйте этим простым шагам, чтобы очистить кеш на устройствах iOS:

выгрузить неиспользуемые приложения на iOS

Выберите «Настройки» > «Основные» > «Хранилище iPhone».

Здесь у вас есть несколько вариантов. Ваш первый вариант — очистить весь кеш приложений, которые вы почти не используете или никогда не используете. Это соответствует рекомендации «Разгрузить неиспользуемые приложения». Термин «разгрузка» — это просто модная фраза iOS для очистки кеша.

очистить кешированные данные на iOS

Второй вариант — прокрутить вниз и нажать на отдельные приложения с большим объемом кэшированных данных на вашем устройстве. Как вы можете это сказать? Apple будет перечислять эти приложения в порядке от самого высокого использования памяти до самого низкого.

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

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

Очистить кеш на Android

Вы можете очистить кеш на устройствах Android следующими способами.

Очистить кеш в приложении Chrome

  1. Откройте приложение Google Chrome на телефоне или планшете Android.
  2. Нажмите "Ещё" рядом с тремя точками в правом верхнем углу веб-страницы.
  3. Нажмите «История», затем нажмите «Очистить данные браузера» и выберите временной диапазон вверху.
  4. Выберите временной диапазон и установите флажки рядом с пунктом "Кэшированные файлы изображений".
  5. Нажмите «Очистить данные», чтобы очистить кеш браузера в Chrome.

Совет. Вы можете очистить кешированные файлы в Chrome даже в автономном режиме.

Очистить кеш приложения

В качестве примера возьмем Samsung Galaxy Note 8, чтобы понять, как очистить кэш приложений на устройствах Android.

  1. Откройте меню "Настройки" на телефоне Android и выберите "Приложения" из списка.
  2. В зависимости от версии Android вы можете открыть установленные приложения, все приложения, включенные, отключенные и другие приложения. Выберите «Все», если вы используете Samsung Galaxy Note 8.
  3. Выберите подходящий вариант и перейдите к приложению, кеш которого нужно очистить.
  4. Выберите приложение и нажмите «Хранилище» в списке параметров внутри данных приложения.
  5. Нажмите «Очистить кеш», чтобы освободить место на устройстве.

Очистить кеш в Firefox

Очистить кеш Firefox довольно просто. Выполните следующие пять шагов:

  1. Выберите параметры, нажав Меню на странице Firefox.
<р>2. Коснитесь панели «Конфиденциальность и безопасность».

<р>3. Нажмите «Очистить данные» на вкладке «Файлы cookie и данные сайта».

<р>4. Снимите галочки напротив всех остальных параметров и установите флажок Кэшированное веб-содержимое .

Что происходит после очистки кеша?

  • Некоторые настройки на сайтах удаляются. Например, если вы вошли в систему, вам потребуется войти снова.
  • Если вы включите синхронизацию в Chrome, вы останетесь в аккаунте Google, с которым выполняете синхронизацию, чтобы удалить свои данные на всех своих устройствах.
  • Некоторые сайты могут работать медленнее, потому что контент, например изображения, нужно загрузить снова. ~ Служба поддержки Google

Что делает очистка кеша?

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

Неплохо время от времени очищать кешированные данные. Некоторые называют эти данные «мусорными файлами», что означает, что они просто сидят и накапливаются на вашем устройстве. Очистка кеша помогает поддерживать чистоту, но не полагайтесь на нее как на надежный метод для создания нового пространства.

Теперь, когда вы знаете, как очистить кэш, чтобы повысить производительность вашего устройства, сделайте его более безопасным с помощью двухфакторной аутентификации.

управление мобильными устройствами

Защитите свой парк мобильных телефонов

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

Девин — бывший старший специалист по контенту в G2. До G2 он помогал запускать стартапы на ранней стадии развития с бурно развивающейся технологической сцены Чикаго. Вне работы он любит смотреть своих любимых Детенышей, играть в бейсбол и другие игры. (он/его/его)

управление мобильными устройствами

Защитите свой парк мобильных телефонов

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

Обычно беспокоит объем используемой памяти, поскольку по умолчанию AIX использует всю доступную память: обычно используется почти 100%
реальной памяти, но это не обязательно означает, что система переполнен, и требуется больше памяти.

Шаги

Память в AIX управляется диспетчером виртуальной памяти VMM, который работает со страницами, блоками данных фиксированного размера.
В AIX существует два основных типа страниц:

  • Страницы рабочей памяти (вычислительная память)
  • Страницы постоянного хранения (невычислительная память)
  • Обработка данных
  • Стопка
  • Общая память
  • Данные ядра

Когда измененные страницы рабочей памяти необходимо выгрузить (переместить из памяти на диск), они записываются в пространство подкачки;
страницы рабочей памяти никогда не записываются в файловую систему. Когда процесс завершается, система освобождает все свои частные страницы рабочей памяти.
Таким образом, система освобождает страницы рабочей памяти для данных процесса и стека при завершении процесса.
Страницы рабочего хранилища для областей общей памяти не освобождаются до тех пор, пока область общей памяти не будет удалена.

Постоянное хранилище
Страницы постоянного хранения — это страницы, содержащие постоянные данные (то есть данные, которые сохраняются после перезагрузки).
Эти постоянные данные представляют собой данные файла, поэтому страницы постоянного хранилища представляют собой просто фрагменты файлов, кэшированных в памяти.
Немодифицированная страница постоянного хранилища может быть освобождена без записи в файловую систему, поскольку файловая система содержит нетронутую копию данных; когда измененную страницу постоянного хранилища необходимо выгрузить (переместить из памяти на диск), она записывается в файловую систему.

Например, если приложение читает файл, данные файла кэшируются в памяти на страницах постоянного хранилища.
Эти страницы постоянного хранилища не изменены, то есть страницы не изменялись в памяти.
Итак, страницы постоянного хранилища в памяти эквивалентны файловым данным на диске. Когда AIX нужно освободить память, она может просто «освободить» эти страницы, не записывая ничего на диск.
Если бы приложение записывало в файл, а не читало, страницы постоянного хранилища были бы "модифицированы", и AIX пришлось бы сбрасывать страницы на диск перед их освобождением.

Страницы постоянного хранения можно разделить на два подтипа:

Неклиентские страницы – это страницы, содержащие кэшированные данные файла Journaled FileSystem (JFS). Неклиентские страницы иногда называют постоянными страницами.
Клиентские страницы — это страницы, содержащие кэшированные данные для всех других файловых систем (например, JFS2 и Network FileSystem (NFS).

Моя системная память перегружена? Нужно ли мне добавить больше памяти?

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

image- 20200331214356-1

Для проверки выделенной памяти можно использовать различные команды, например
- vmstat
Запустив vmstat (никаких специальных флагов не требуется), вы увидите столбец "avm"

« avm » представляет собой «активную виртуальную память», которая в основном соответствует вычислительной памяти: число указано в единицах по 4 КБ (
страницы памяти), здесь около 42 ГБ.

- svmon
" svmon -G " показывает глобальный отчет, где вы можете сравнить "виртуальный" с "размером" (единицы указаны в страницах по 4 КБ)

- topas
Выполняется без флагов, раздел памяти находится в правой части вывода, показывающего процент вычислительной памяти (здесь 41%).

Здесь система использует около 42 % памяти для вычислительной памяти, поэтому она не перегружена с точки зрения памяти: в зависимости от активности системы оставшиеся 58 % могут быть свободны или использоваться для файлового кэша (не вычислительная память).

Примечание: выходные данные topas могут быть не такими точными, как данные vmstat-svmon, поскольку они относятся только к реальной памяти: данные, перемещаемые в пространство подкачки, не учитываются topas , поэтому общий объем виртуальной памяти может быть больше, чем в реальная память, сообщаемая topas ( vmstat и svmon показывают виртуальную память, находится ли она в ОЗУ или на устройстве подкачки).

AIX использует то, что осталось от вычислительной памяти, для не вычислительной: таким образом, нормально видеть, что используется около 100% памяти, система работает нормально и проблем нет.

В следующем примере показана система со 100% используемой памятью, что совершенно нормально; здесь мы «привязываем» некоторые большие файлы к /dev/null , но то же самое относится к любым кэшированным операциям ввода-вывода (например, резервным копиям, чтению или записи приложений):

image- 20200331174705-4

Система имеет 8 ГБ ОЗУ, где мы начинаем с вычислительной памяти около 22%, а оставшиеся 78% реальной памяти свободны.
avm = 461462 = 1,8 ГБ
fre = 1628290 = 6,3 ГБ

Затем мы начинаем выполнять некоторые операции ввода-вывода с считываемыми страницами файлов (столбец fi, обратите внимание, что для просмотра сведений о страницах файлов необходимо использовать флаг vmstat «-I») и уменьшением свободной памяти; когда объем свободной памяти падает до значения «minfree», система начинает сканировать память (столбец «sr»), чтобы найти достаточно свободных страниц для загрузки данных, считываемых с диска. (количество освобожденных страниц, столбец «fr», здесь соответствует количеству прочитанных страниц, столбец «fi»).
Используется вся реальная память, и системе необходимо освободить некоторые из выделенных страниц для чтения новых данных, но будет освобождена только невычислительная память (кэш файлов).

Когда ввод-вывод прекращается, активность страницы возвращается к 0, но вы можете заметить, что значение «avm» не изменилось, так как объем вычислительной памяти не увеличился.

На что следует обратить внимание:

  • «fi» и «fo» относятся к страницам файла, которые считываются в память и записываются из нее.
    Это отличается от пейджинга, подкачки данных в пространство подкачки и обратно, что соответствует столбцам «pi» и «po»: значение 0 для pi-po означает, что система *не* пейджинг (нет активность к-от пейджинговых устройств). Вы можете убедиться в этом, посмотрев на использование пространства подкачки, как показано позже с помощью svmon или topas (или выполнив « lsps -a »), которое не увеличилось.
  • Невычислительная память не освобождается после того, как данные были прочитаны-записаны, как видно из выходных данных vmstat, где свободный список остается равным 3056 после завершения ввода-вывода.
    Кэш файлов освобождается, когда:
    - кешированный файл удаляется;
    - файловая система, в которой находится кешированный файл, размонтируется;
    - памяти требуется любому процессу, а ее недостаточно бесплатный для выполнения запроса: в этом случае VMM запускает замену страниц (через демон « lrud ») и крадет файловые страницы.

То же самое можно увидеть и с

- сравнение svmon до

image- 20200331174727-5

и после вывода

image- 20200331174747-6

Теперь используется вся память ("использование" почти совпадает с "размером"), всего 2911 свободных страниц, но виртуальная осталась прежней, увеличение относится только к невычислительной памяти: ввод-вывод был из файловых систем JFS2, поэтому эти страницы отображаются в столбце «clnt» (для «используется»).

- topas
Мы начали с вычислительной памяти с 22% и закончили с тем же, но теперь у нас 77% для невычислительной памяти.

Можно ли безопасно удалить часть памяти из системы?

Если вы хотите уменьшить объем реальной памяти, выделенной системе, вы должны убедиться, что в ней достаточно памяти для вычислительных страниц: если вычислительная память закрыта для реальной памяти, ее не следует уменьшать.

В предыдущем примере объем памяти, который будет использоваться для некомпьютерных страниц, уменьшен с 20 ГБ до 5 ГБ: в системах с малым количеством операций кэширования операций ввода-вывода этого может быть достаточно, а в системах с большим количеством операций кэширования операций ввода-вывода это преимущество. от наличия большей памяти.
Поскольку это действительно зависит от нагрузки, ее необходимо оценивать в каждом конкретном случае, либо анализируя тип системного ввода-вывода и нагрузку, либо уменьшая объем памяти на разных этапах, переоценивая производительность на каждом этапе ( в предыдущем примере, уменьшая память на 5 ГБ за раз).

AIX предоставляет несколько настраиваемых параметров, влияющих на VMM и операции ввода-вывода. Их изменение без понимания всех последствий может привести к снижению производительности:

Дизайн вашего клиентского приложения определяет, следует ли хранить много небольших значений или меньшее количество больших значений. С точки зрения сервера Redis, меньшие значения обеспечивают лучшую производительность. Мы рекомендуем не превышать размер значения 100 КБ.

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

Даже если кэш имеет достаточную мощность ЦП, большие значения увеличивают задержку, поэтому следуйте инструкциям в разделе Настройка соответствующих тайм-аутов.

Большие значения также увеличивают вероятность фрагментации памяти, поэтому обязательно следуйте инструкциям в разделе Настройка параметра maxmemory-reserved.

Избегайте скачков клиентского подключения

Создание и закрытие соединений — дорогостоящая операция для сервера Redis. Если ваше клиентское приложение создает или закрывает слишком много подключений за небольшой промежуток времени, это может привести к перегрузке сервера Redis.

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

Нехватка памяти

Высокий уровень использования памяти на сервере повышает вероятность того, что системе потребуется выгружать данные на диск, что приводит к ошибкам страниц, которые могут значительно замедлить работу системы.

Избегайте длительных команд

Сервер Redis — это однопоточная система. Длительно выполняемые команды могут вызвать задержку или тайм-ауты на стороне клиента, поскольку сервер не может отвечать на какие-либо другие запросы, пока он занят выполнением длительно выполняемой команды. Дополнительные сведения см. в статье Устранение неполадок кэша Azure для Redis на стороне сервера.

Отслеживание загрузки сервера

Добавьте мониторинг нагрузки на сервер, чтобы получать уведомления о высокой нагрузке на сервер. Мониторинг может помочь вам понять ограничения вашего приложения. Затем вы можете активно работать над устранением проблем. Мы рекомендуем стараться поддерживать загрузку сервера ниже 80 %, чтобы избежать негативного влияния на производительность.

В настоящее время кэш Azure для Redis предоставляет две метрики в разделе "Статистика" в разделе "Мониторинг" в меню "Ресурс" в левой части портала: загрузка ЦП и сервера. Понимание того, что измеряется каждой метрикой, важно при мониторинге нагрузки на сервер.

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

Метрика «Загрузка сервера» представляет собой нагрузку только на сервер Redis. Мы рекомендуем отслеживать показатель загрузки сервера, а не ЦП.

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

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

Проверить повышенную нагрузку на сервер после отработки отказа

Для стандартных и премиальных SKU каждый кэш размещается на двух узлах. Балансировщик нагрузки распределяет клиентские соединения между двумя узлами. Когда на основном узле происходит плановое или внеплановое обслуживание, узел закрывает все клиентские соединения. В таких ситуациях все клиентские соединения могут приземлиться на один узел, что приведет к увеличению нагрузки на сервер на одном оставшемся узле. Мы рекомендуем протестировать этот сценарий, перезагрузив основной узел и убедившись, что один узел может обрабатывать все клиентские подключения без чрезмерной нагрузки на сервер.

Читайте также: