Сорри, я пропустил, это было в вопросе.
Я понял в чем дело, но не уверен как это лучше починить.
ИМХО реплика дважды обращается к мастеру, через два интерфейса, соответственно видит два одинаковых мастера.
Как чинить?
1) не говорите что оффтопик - я бы убрал второй интерфейс, если его нельзя сделать active-passive, то есть чтобы он активизировался при failover.
Конфигурация странная... Например, как клиенты обращаются к реплике, по какому адресу?
Мне знакомы две конфигурации для high availability - 1) bonding (== teaming) когда два NICa объединяют в один виртуальный, и 2) active-passive
2) можно привязать MySQL первому интерфейсу, но ИМХО это криво - и все равно теряется high-availability
А на этом сервере бежит только база или апликация тоже?
Если второе, то надо посмотреть сколько памяти берет апликация (и вебсервер если есть). Можно запустить atop, он умеет сохранять историю.
Если весь сервер для базы,
1) то 4-5ГБ можно дать ей
IDONTSUDO, я прочитал. И понял (возможно неправильно) что вы представляете что есть 100 баз данных, по одной на регион.
Ответ - нет, есть одна распределенная база данных. Одна база со многими инстансами и репликацией данных. То есть нет шардинга по географическим или иным признакам.
Кстати, одноклассники - очень маленький проект по сравнению с фейсбуком :-)
Maxim Firsov, я вижу процесс разработки немного со стороны - я DevOps. Так что про дебаг не скажу.
А согласно методологии DevOps (+ TDD и т.п.) все должно быть автоматически - сделали commit/push, активизировалась система CI (Continuous Integration), которая запускает static code analyse, security scan, unit tests, integration tests и т.п.
Я больше занимаюсь вот этой автоматизацией.
хочу оставить xampp, что бы пользоваться инферфейсом
то есть использовать PHPadmin?
Тогда нужно:
1) проверить где socket
SHOW VARIABLES WHERE Variable_Name LIKE "socket"
2) и использовать его для подключения. Например для командной строки надо добавить
--socket=/path/to/file.sock
Вадим, Traefik "понимает" контейнеры, но я не уверен что стоит менять.
Насчет советчиков - каждый день появляется что-то новое в DevOps. Советую следовать двум принципам:
- искать tool под свою проблему, а не наоборот
- использовать скучные технологии (boringtechnology.club/)
интересно!
а в остальных строчках лога клиентские адреса нормальные?
Крон задач не создан
он может быть и на уровне системы, и в апликации (например в Wordpress). Проверили все?
Как искать кто? Я бы отключил на 10 минут сеть и посмотрел исчез ли этот request.
Если нельзя отключить - то, наверно, запустить сниффер и анализировать.
Сорри, я пропустил, это было в вопросе.
Я понял в чем дело, но не уверен как это лучше починить.
ИМХО реплика дважды обращается к мастеру, через два интерфейса, соответственно видит два одинаковых мастера.
Как чинить?
1) не говорите что оффтопик - я бы убрал второй интерфейс, если его нельзя сделать active-passive, то есть чтобы он активизировался при failover.
Конфигурация странная... Например, как клиенты обращаются к реплике, по какому адресу?
Мне знакомы две конфигурации для high availability - 1) bonding (== teaming) когда два NICa объединяют в один виртуальный, и 2) active-passive
2) можно привязать MySQL первому интерфейсу, но ИМХО это криво - и все равно теряется high-availability