[Документация Yandex Cloud](../index.md) > [Yandex Managed Service for MySQL®](index.md) > Инспекции и рекомендации

# Инспекции и рекомендации в Managed Service for MySQL® 

На кластере управляемой базы данных регулярно проводится диагностика с целью выявления возможных проблем, повышения надежности его работы и повышения производительности. Результаты этих проверок отображаются в виде набора инспекций в разделе **Рекомендации**. Вы можете увидеть уведомления об успешно пройденных проверках и рекомендации для устранения выявленных рисков. Обязанность по устранению выявленных проблем находится в [зоне контроля пользователя](../overview/concepts/mdb-responsibilities.md) Yandex Cloud.

Все проверки имеют определенный уровень критичности:

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

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

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

Для управления рекомендациями в Managed Service for MySQL® требуется роль [managed-mysql.editor или выше](security/index.md).

## Доступные инспекции в Managed Service for MySQL® {#mmy-recommendations}

| **Категория** | **Проверка** | **Риск** | **Критичность** |
|---------------------|-------------------------------------------------------|----------------------------------------------------------------------------------------------------|-----------------|
| Производительность  | Загрузка CPU                                          | [Риск падения производительности](#mysql_cpu_idle)                                                 | Высокая         |
| Высокая доступность | Наличие синхронных реплик в кластере | [Риск потери данных и недоступности кластера при отказе зоны (реплики)](#mysql_ha_replics) | Высокая         |
| Высокая доступность | Выделение памяти                                      | [Нехватка оперативной памяти](#mysql_oom)                                                          | Высокая         |
| Высокая доступность | Выделение дискового пространства | [Риск недоступности кластера](#mysql_disk_free_space) | Высокая         |
| Высокая доступность | Высокая доступность кластера при отказе зоны | [Риск потери данных и недоступности кластера при отказе зоны](#mysql_ha_zone) | Высокая         |
| Высокая доступность | Высокая доступность кластера при отказе зоны (кворум) | [Риск потери данных и недоступности кластера при отказе зоны (кворум)](#mysql_ha_quorum) | Высокая         |
| Высокая доступность | Возможность автомасштабирования диска | [Ограничена возможность автомасштабирования дискового пространства](#mysql_disk_autoscaling_limit) | Умеренная      |

### Риск падения производительности {#mysql_cpu_idle}

**Описание**

Хост постоянно использует весь ресурс CPU, что может приводить к замедлению обработки запросов. Проверьте [нагрузку](operations/performance-diagnostics.md) и оптимизируйте запросы (в том числе с [AI-ассистентом](../websql/operations/ai-assistant.md) в WebSQL) или увеличьте вычислительные ресурсы кластера.

**Действие**

Чтобы увеличить вычислительные ресурсы кластера:

1. Перейдите в сервис **Managed Service for&nbsp;MySQL**.
1. Выберите кластер и нажмите ![image](../_assets/console-icons/pencil.svg) **Редактировать**.
1. В разделе **Вычислительные ресурсы хоста** выберите класс хоста с нужным количеством vCPU.
1. Нажмите **Сохранить изменения**.

### Риск потери данных и недоступности кластера при отказе зоны (реплики) {#mysql_ha_replics}

**Описание**

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

**Действие**

Чтобы перенести хосты из одной зоны в другую:

1. [Создайте подсеть](../vpc/operations/subnet-create.md) в зоне доступности, в которую вы переносите хосты.
1. Добавьте хост в кластер: [перейдите](https://kz.console.yandex.cloud/link/managed-mysql) в сервис **Managed Service for&nbsp;MySQL**.
1. Нажмите на имя нужного кластера и перейдите на вкладку **Хосты**.
1. Нажмите кнопку ![image](../_assets/console-icons/plus.svg) Создать хост.
1. Укажите параметры хоста:

    * Зону доступности, куда переносятся хосты.
    * Новую подсеть.
    * Выберите опцию **Публичный доступ**, если хост должен быть доступен извне Yandex Cloud.

1. Нажмите **Сохранить**.
1. Удалите хосты в первоначальной зоне доступности. 

### Нехватка оперативной памяти {#mysql_oom}

**Описание**

Кластер использует всю доступную оперативную память, что приводит к замедлению работы или аварийным остановкам. Увеличьте объем оперативной памяти для кластера.

**Действие**

Чтобы увеличить объем оперативной памяти:

1. Перейдите в сервис **Managed Service for&nbsp;MySQL**.
1. Выберите кластер и нажмите ![image](../_assets/console-icons/pencil.svg) **Редактировать**.
1. В разделе **Вычислительные ресурсы хоста** выберите класс хоста с необходимым объемом памяти.
1. Нажмите **Сохранить изменения**.

### Риск недоступности кластера {#mysql_disk_free_space}

**Описание**

На хосте критически мало свободного места. Это может привести к отключению некоторых операций и недоступности кластера (переходу в режим «только для чтения»). Увеличьте размер диска или очистите неиспользуемые данные.

**Действие**

Чтобы увеличить размер диска:

1. Перейдите в сервис **Managed Service for&nbsp;MySQL**.
1. Выберите кластер и нажмите ![image](../_assets/console-icons/pencil.svg) **Редактировать**.
1. В разделе **Хранилище** увеличьте размер диска.
1. Нажмите **Сохранить изменения**. 

### Риск потери данных и недоступности кластера при отказе зоны {#mysql_ha_zone}

**Описание**

Все хосты кластера находятся в одной зоне доступности. В случае ее сбоя кластер станет недоступен. Распределите реплики по разным зонам для обеспечения высокой доступности.


{% note info %}

Кластеры, состоящие из одного хоста, не проходят проверку на критерии высокой доступности, так как такая конфигурация находится в зоне контроля пользователей Yandex Cloud.

{% endnote %}

**Действие**

Чтобы добавить хост в другую зону:

1. Перейдите в сервис **Managed Service for&nbsp;MySQL**.
1. Выберите кластер и перейдите на вкладку **Хосты**.
1. Нажмите **Создать хост**.
1. В параметрах хоста укажите альтернативную зону доступности.
1. Завершите настройку хоста и нажмите **Сохранить**.

### Риск потери данных и недоступности кластера при отказе зоны (кворум) {#mysql_ha_quorum}

**Описание**

Количество хостов, которые нужны для подтверждения транзакции, меньше максимального числа хостов в одной зоне доступности. Чтобы не потерять данные при отказе зоны, измените [значение](concepts/settings-list.md#setting-rpl-wait-slave-count) `Rpl semi sync master wait for slave count` на значение, большее числа хостов в одной зоне доступности, либо перенесите часть хостов в другие зоны доступности.

**Действие**

Чтобы перенести хосты из одной зоны в другую:

1. [Создайте подсеть](../vpc/operations/subnet-create.md) в зоне доступности, в которую вы переносите хосты.
1. Добавьте хост в кластер: [перейдите](https://kz.console.yandex.cloud/link/managed-mysql) в сервис **Managed Service for&nbsp;MySQL**.
1. Нажмите на имя нужного кластера и перейдите на вкладку **Хосты**.
1. Нажмите кнопку ![image](../_assets/console-icons/plus.svg) **Создать хост**.
1. Укажите параметры хоста:

    * Зону доступности, куда переносятся хосты.
    * Новую подсеть.
    * Выберите опцию **Публичный доступ**, если хост должен быть доступен извне Yandex Cloud.

1. Нажмите **Сохранить**.
1. Удалите хосты в первоначальной зоне доступности.

Чтобы изменить [значение](concepts/settings-list.md#setting-rpl-wait-slave-count) `Rpl semi sync master wait for slave count`:

1. [Перейдите](https://kz.console.yandex.cloud/link/managed-mysql) в сервис **Managed Service for&nbsp;MySQL**.
1. Выберите кластер и нажмите кнопку **Редактировать** на панели сверху.
1. Измените настройку, нажав на кнопку **Настроить** в блоке **Настройки СУБД**.
1. Сохраните изменения.

Подробнее о настройке кворума в разделе [Настройки MySQL®](concepts/settings-list.md#setting-rpl-wait-slave-count).

### Ограничена возможность автомасштабирования дискового пространства {#mysql_disk_autoscaling_limit}

**Описание**

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

**Действие**

Чтобы изменить настройки автомасштабирования:

  1. [Перейдите](https://kz.console.yandex.cloud/link/managed-mysql) в сервис **Managed Service for&nbsp;MySQL**.
  1. Выберите кластер и нажмите кнопку **Редактировать** на панели сверху.
  1. В дополнительных настройках кластера **Автоматическое увеличение размера хранилища** выберите опцию **В окно обслуживания при заполненности более** и укажите процент **от текущего размера хранилища**, при достижении которого хранилище будет увеличено в следующее [окно обслуживания](concepts/maintenance.md#maintenance-window).