Подтвердить что ты не робот

Должен ли я переходить с MySQL на сервер Percona?

У меня проблема с грязными страницами на сервере MySQL. Это занимает много ресурсов процессора, и мой сайт становится недоступным из-за нехватки ресурсов, оставшихся на сервере. Я получил 10 миллионов записей в базе данных, и он будет расти дальше. Мои таблицы работают в innodb, и с сайта, основанного на транзакции, мне нужен innodb. Перейдя на сервер Percona, удалите проблему очистки грязных страниц. Как правило, лучше переносить или придерживаться MySQL?

Как только я перейду к percona, если я хочу вернуться в Mysql, я могу восстановить резервную копию из percona в mysql?

4b9b3361

Ответ 1

Percona Server имеет множество улучшений для очистки. Но в такой небольшой базе данных, вероятно, что-то не так, например, пул буферов и размер файла журнала, находящийся по умолчанию, вместо настройки для рабочей нагрузки. Я согласен с другими плакатами, что вам нужно измерить и понять проблему, прежде чем пытаться что-то увидеть, решит ли она ее. Однако я не согласен с тем, что переход на Percona Server следует рассматривать как опасный и трудоемкий шаг. Вы можете просто заменить /usr/sbin/mysqld тем, который вы извлекаете из архива Percona Server, и если вам это не нравится, верните старый двоичный файл. Percona Server - это просто MySQL с некоторыми неуправляемыми улучшениями, и вы можете быть уверены, что переключение на него или из него будет просто работать. (Я работаю в Percona, кстати.)

Ответ 2

Percona Server предлагает множество преимуществ по сравнению с "vanilla" mysql. Он имеет некоторые функции, специально разработанные для повышения производительности промывки, особенно на SSD-серверах.

Вы можете вернуться к нормальной mysql, если Percona Server не подходит для вас. Есть несколько "дополнительных" функций, которые по умолчанию не включены, что приведет к потере обратной совместимости. Просто не изменяйте их (задокументировано в документации Percona Server), и все будет в порядке.

Моя компания использует Percona Server 5.5 с XtraDB на высокопроизводительном SSD-сервере, и у нас нет ничего, кроме большого опыта с ним.

Ответ 3

Грязная очистка страницы также происходит с MariaDB или Percona Server. Вы должны понять, почему и когда у вас есть всплески грязной очистки страниц. Обычно проблемой является слишком маленький размер файла журнала InnoDB. Вы уже проверили это. Еще более сложной темой является скорость очистки MySQL (которая ограничена по умолчанию 200 страниц/с). Но для этого вам нужно очень хорошо измерить вашу систему...

Ответ 4

Выполните следующие действия:

  • Воспроизводите проблемы производительности на не-производственном оборудовании, но аппаратное обеспечение производственного уровня в вашей лаборатории
  • Перейдите на сервер Percona или выполните другие изменения и оцените производительность, чтобы выяснить, исправляет ли он это.
  • Предполагая, что ваши результаты хороши, выполните МАССИВНОЕ ФУНКЦИОНАЛЬНОЕ ИСПЫТАНИЕ РЕГРЕССИИ в своем приложении, чтобы проверить, нет ли регрессий, связанных с переходом на сервер Percona.
  • Проведите тестирование на выдержку и стресс в вашей заявке - в вашей непроизводственной системе с данными размера производства (или больше).
  • Проверьте план отката, чтобы убедиться, что вы действительно можете вернуться к MySQL
  • Если вы ПОЛНОСТЬЮ довольны результатами ВСЕХ ВЫШЕ, вы можете планировать выпуск к производству.

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

Возможно, вы можете добавить более мощное оборудование?

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

Не можете ли вы найти менее рискованный способ сделать это?