[Документация Yandex Cloud](../../index.md) > [Yandex Managed Service for MySQL®](../index.md) > Вопросы и ответы > Проблемы с чтением/записью в кластер

# Проблемы с чтением/записью в кластер

* [Почему не работает запись в кластер?](#write-failure)

* [Почему отстает реплика?](#replica-lagging)

* [Почему размер кластера значительно больше объема данных в нем?](#cluster-greater-data)

* [Что делать при возникновении любой ошибки приложения?](#application-error)

#### Почему не работает запись в кластер? {#write-failure}

1. Если хранилище баз данных заполнится на 95%, кластер перейдет в режим **Только чтение**. Проверьте свободное место в хранилище и при необходимости увеличьте его размер. Чтобы проверить свободное место:
   1. Перейдите на страницу каталога и выберите сервис **Managed Service for&nbsp;MySQL**.
   1. Нажмите на имя нужного кластера и перейдите на вкладку **Мониторинг**.
   1. Проверьте график **Disk usage**.
1. Убедитесь, что запись производится в хост, который является мастером, а не [репликой](mysql.md#read-only-instance).

#### Почему отстает реплика? {#replica-lagging}

1. Проверьте, установлено ли параметру `slave_rows_search_algorithms` значение `INDEX_SCAN,HASH_SCAN`.
1. Вместо выполнения операции `ALTER TABLE` над объемными таблицами рекомендуется использовать утилиту `pt-online-schema-change` из пакета Percona Toolkit — это обеспечит отсутствие блокировок.
1. Если отставание сохраняется, включите параллельную репликацию. Для этого настройте параметры:
   ```text
   slave_parallel_type=LOGICAL_CLOCK
   slave_parallel_workers=8
   ```
1. Выполните на реплике команду `SHOW SLAVE STATUS;`. Если значение параметра `Executed_Gtid_Set` долго не меняется, убедитесь, что во всех таблицах присутствуют индексы.
1. Если данные пишутся в БД непрерывно и при этом объем оперативной памяти на хосте 8 ГБ или больше, рекомендуется увеличить значение параметра `innodb_log_file_size` до 1-2 ГБ (изменение параметра происходит с рестартом сервера).

#### Почему размер кластера значительно больше объема данных в нем? {#cluster-greater-data}

Это происходит в силу особенностей хранения данных самой СУБД MySQL®, а не сервиса Managed Service for MySQL® в Yandex Cloud. Факторы, влияющие на занимаемое место в хранилище:
* фрагментация;
* коэффициент заполнения индекса (fill factor);
* хранение старых версий строк (rollback segment);
* упаковка типов.

Чтобы узнать фактический объем таблиц в базе, обратитесь к системной таблице `INNODB_SYS_TABLESPACES`. Подробнее в статье [Finding MySQL Table Size on Disk](https://www.percona.com/blog/2016/01/26/finding_mysql_table_size_on_disk).

#### Что делать при возникновении любой ошибки приложения? {#application-error}

1. Проверьте, есть ли свободное место на диске, где располагается кластер:
   1. Перейдите на страницу каталога и выберите сервис **Managed Service for&nbsp;MySQL**.
   1. Нажмите на имя нужного кластера и перейдите на вкладку **Мониторинг**.
   1. Проверьте график **Disk usage**.
1. Проверьте графики мониторинга хостов:
   1. Перейдите на страницу каталога и выберите сервис **Managed Service for&nbsp;MySQL**.
   1. Нажмите на имя нужного кластера, затем выберите вкладку **Хосты**.
   1. Перейдите на страницу **Мониторинги**.
   1. Найдите проблемный ресурс: график будет приближаться к границе или выйдет за нее.
   1. Выберите другие хосты из выпадающего списка и проверьте их тоже.
1. Проверьте наличие свободных ресурсов на виртуальной машине или сервере, где запущено приложение, подключаемое к БД.