mysql для интенсивной записи и интенсивного чтения

#mysql #architecture

#mysql #архитектура

Вопрос:

Я получил приложение, которое выполняет только две операции.

  1. Создает около 300 Тыс. записей журнала о состоянии 10 тыс. аппаратных объектов за 30 минут. т.е. 1 запись / 1 объект / 1 минута
  2. Отправляйте соответствующему администратору, если для определенного объекта происходят 4 сбоя, т. Е. Каждые 4 минуты я получаю 4 записи статуса для каждых 10 тыс. объектов и почту, если необходимо.

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

    Должен ли я переключиться на MyISAM. Я попробовал репликацию на той же машине, это еще больше ускоряет процессор.

    Предложите мне возможное решение этой проблемы.

Спасибо.

Комментарии:

1. У вас есть все правильные индексы? Индексы должны быть на всех полях, которые используются в WHERE части любого запроса.

Ответ №1:

300 Тыс. записей в журнале о состоянии 10 тыс. аппаратных объектов за 30 минут

Около 166 вставок в секунду.

каждые 4 минуты я получал 4 записи статуса для каждых 10 Тыс. объектов

Около 41 простого выбора / с

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

Можете ли вы предоставить более подробную информацию о структуре таблицы, о том, как вы выполняете свои вставки, ваши выборки?

Индексы определенно не должны создаваться для всего, только соответствующие индексы (те, которые действительно ускоряют ваши запросы)… актуально … и достойны того, чтобы оплачивать стоимость их обновления при каждой вставке!

Комментарии:

1. запрос select становится очень медленным

2. ОК. Я получил поле метки времени и извлек последние 4 записи относительно ТЕКУЩЕГО момента для каждого объекта. Для извлечения требуется не менее 5 секунд.