Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (4)

Наибольший вклад в теги

Все теги (80)

Лучшие ответы пользователя

Все ответы (79)
  • Какая существует лучшая литература про Linux?

    @vlarkanov
    Брайан Уорд, "Внутреннее устройство Linux", 2016
    Очень хорошо и подробно написано, читается легко.
    Ответ написан
  • Синхронная репликация: MySQL NDB Cluster, Percona XtraDB, MariaDB Galera, mysql group replication (innodb cluster). В чем отличия?

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

    Используется Galera-кластер на базе Percona Xtradb. В нем две физические ноды (база живет на SSD в mdadm RAID1), разнесенные по городам (~200км) + арбитратор на виртуалке (нужен для кворума т.к. кластер не должен содержать четное кол-во нод). Любой INSERT\UPDATE\DELETE апрувится всеми нодами и только тогда считается закоммиченым. Запросы разруливаются с помощью живущего на виртуалке прокси Maxscale. Одна из нод является мастером, на нее идут запросы на запись, вторая - слейв, получает запросы на чтение. В случае падения одной из нод вторая автоматически берет на себя ее функции (точнее, сами ноды о своих ролях знать не знают, рулит процессом Maxscale). Когда нода поднимается, она всасывает в себя произошедшие с момента падения изменения IST (Incremental State Transfer) если объем произошедших изменений не превышает размер galera cache (просто файл, размер указывается в конфиге mysql) или, в худшем случае загружается вся база. При этом нода-донор продолжает обрабатывать запросы клиентов как ни в чем не бывало. Присоединившаяся нода становится слейвом, т.к. смена мастера приводит к обрыванию соединений и ее лучше делать вручную, ночью.

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

    Если есть вопросы - задавайте, постараюсь ответить.
    Ответ написан
  • MySQL грузит все ядра проца. Глюк?

    @vlarkanov
    Погуглите ошибку leap second - одним из ее симптомов может быть аномальная загрузка проца.

    Ещё вариант: посмотрите как настроен и как функционирует NUMA. Возможно, стоит включить interleave в настройках mysqld_safe (через numactl).

    Что с IO? Какова нагрузка на диск? Посмотрите через iotop например.

    По параметрам. Кроме мускула на сервере что-то крутится? Если нет, смело выкручивайте
    innodb_buffer_pool_size до примерно 70% объема RAM.
    innodb_log_file_size - это размера лога транзакций innodb. Чем он больше - тем реже пересоздается этот файл, и тем меньше нагрузка на диск. Но тем дольше восстановление в случае сбоя. 512mb должно хватить.

    innodb_flush_log_at_trx_commit = 0 Вы уверены? Поставьте хотя бы 2 - по производительности тож на тож, но безопаснее. А лучше и вовсе 1. Медленно, зато надежно.

    query_cache_size = 4096M Куда столько? Помните, что при каждом INSERT\UPDATE этот кеш переписывается. Поставьте 100mb для начала.
    Ответ написан
  • Переход с linux на Windows, подводные камни?

    @vlarkanov
    Платный софт, неконтролируемые обновления, вирусы, трудноотлавливаемые глюки (в винду нормального логирования не завезли). А так жить можно.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (157)