MySQL - master - slave, Слейв не успевает - визуально не понятно! |
Здравствуйте, гость ( Вход | Регистрация )
Настоящие Правила Раздела являются дополннением к Общим Правилам Конференции. В случаях противоречий отдельных пунктов, действуют Правила Раздела.
MySQL - master - slave, Слейв не успевает - визуально не понятно! |
Drug |
13.10.2010, 20:10
Сообщение
#1
|
Группа: Старые пользователи Сообщений: 1,388 Регистрация: 16.07.2004 Из: QWARTA Пользователь №: 549 Репутация: 236 |
Вопрос на засыпку, у кого есть мускульные базы на двух серверах вида мастер-слейв.
Дайте, плиз, совет не сталкивались ли вы с проблемой, что слейв за мастером обновляет данные с приличной задержкой от 1 до 15 секунд - при том что базы на обоих серверах нагружены не пиково? Если да, то где что покрутить - в инете искал плохо поэтому ничего не нашел(IMG:style_emoticons/default/smile.gif) |
dima2 |
14.10.2010, 21:48
Сообщение
#2
|
Группа: Старые пользователи Сообщений: 192 Регистрация: 26.05.2010 Пользователь №: 11,965 Репутация: 183 |
|
Drug |
14.10.2010, 23:16
Сообщение
#3
|
Группа: Старые пользователи Сообщений: 1,388 Регистрация: 16.07.2004 Из: QWARTA Пользователь №: 549 Репутация: 236 |
Вы не поняли, искал я хорошо, но видимо не достаточно. Консалтеры мне не нужны, вполне сам в состоянии покрутить параметры, какие только вопрос?
|
eSupport.org.ua |
15.10.2010, 07:23
Сообщение
#4
|
Одесский сисадмин Группа: Старые пользователи Сообщений: 5,200 Регистрация: 18.11.2004 Из: Одесса Пользователь №: 823 Репутация: 263 |
Вот консалтеры и подскажут, какие именно крутить (IMG:style_emoticons/default/smile.gif)
|
Admin |
15.10.2010, 08:20
Сообщение
#5
|
Группа: Admin Сообщений: 10,656 Регистрация: 16.05.2002 Из: "ХостОбзор" Пользователь №: 2 Репутация: 302 |
Ну, жлобы (IMG:style_emoticons/default/smile.gif)))) Написали бы, что сами не знаем.
|
different |
15.10.2010, 20:35
Сообщение
#6
|
Группа: Старые пользователи Сообщений: 804 Регистрация: 29.06.2008 Из: Народный комиссариат виртуальных дел Пользователь №: 7,738 Репутация: 210 |
На канал посмотрите, может у первого сервера он просажен основным трафиком и на БД остается мало?
|
eSupport.org.ua |
16.10.2010, 13:37
Сообщение
#7
|
Одесский сисадмин Группа: Старые пользователи Сообщений: 5,200 Регистрация: 18.11.2004 Из: Одесса Пользователь №: 823 Репутация: 263 |
Ладно, раз пошли такие обвинения...
Итак, в mysql выполнение репликации идет через бинарные логи в один тред. На мастере может быть выполнено несколько тредов одновременно, зависит от настроек и числа ядер CPU. Соответственно, если это происходит постоянно, то и имеем пресловутое постоянное отставание. Проверить это можно через Seconds_Behind_Maste, там указано, на сколько именно идет отставание. Еще возможно, что нагрузка банально высокая, это будет видно по Slave_IO_State. Если там пусто - значит проблема одного треда. Если занято - высокая нагрузка. Что характерно - и то и другое легко вылечить вертикальным масштабированием и наращиванием пропускной мощности между серверами. Лично я бы посоветовал начать крутить с установки munin и по дисперсии значений графиков определить узкое место - сеть/диск/процессор. Кошелек для оплаты: Z399249487492 Жлобам платить не обязательно (IMG:style_emoticons/default/wink.gif) |
Drug |
16.10.2010, 22:08
Сообщение
#8
|
Группа: Старые пользователи Сообщений: 1,388 Регистрация: 16.07.2004 Из: QWARTA Пользователь №: 549 Репутация: 236 |
Мне на другом форуме уже дали похожий ответ
Код Репликация накатывается в один поток, поэтому, если на мастере у Вас работало несколько потоков одновременно, на реплике они выполняются последовательно, приводя к отставанию. Также надо понимать, что если какой-то один запрос выполняется на мастере 15 секунд, то и на реплике он будет выполняться 15 секунд, что, очевидно, тоже отображается как пятнадцатисекундная задержка реплики. 5 YE ушло Диска на слейве быстрее и лучше чем на мастере. Так что скорее всего дело в потоках Спасибо. Сообщение отредактировал Drug - 16.10.2010, 22:12 |
eSupport.org.ua |
17.10.2010, 08:03
Сообщение
#9
|
Одесский сисадмин Группа: Старые пользователи Сообщений: 5,200 Регистрация: 18.11.2004 Из: Одесса Пользователь №: 823 Репутация: 263 |
Пользуйтесь mysql-proxy для решения подобных проблем
|
Drug |
17.10.2010, 11:17
Сообщение
#10
|
Группа: Старые пользователи Сообщений: 1,388 Регистрация: 16.07.2004 Из: QWARTA Пользователь №: 549 Репутация: 236 |
уже про него почитал на досуге, но ведь проблему репилики он не решит - или он сам в место реплики будет создавать две одинаковые копии базы ?
|
eSupport.org.ua |
17.10.2010, 15:24
Сообщение
#11
|
Одесский сисадмин Группа: Старые пользователи Сообщений: 5,200 Регистрация: 18.11.2004 Из: Одесса Пользователь №: 823 Репутация: 263 |
Да
|
Drug |
20.10.2010, 17:44
Сообщение
#12
|
Группа: Старые пользователи Сообщений: 1,388 Регистрация: 16.07.2004 Из: QWARTA Пользователь №: 549 Репутация: 236 |
поставил Mysql Proxy
так его стартую /usr/local/libexec/mysql-proxy --admin-address=a.a.a.a:4041 --proxy-address=a.a.a.a:3306 --proxy-backend-addresses=b.b.b.b:3306 --proxy-backend-addresses=c.c.c.c:3306 --daemon --pid-file=/var/run/mysql-proxy.pid заранее на двух базах на разных серверах сделал одинакового юзера и базу через прокси создаю таблицу на c.c.c.c:3306 она появляется на b.b.b.b:3306 ниразу. Версия прокси вот: mysql-proxy 0.8.0 glib2: 2.22.4 libevent: 1.4.13-stable lua: Lua 5.1.4 LUA_PATH: /usr/local/lib/mysql-proxy/lua/?.lua LUA_CPATH: /usr/local/lib/mysql-proxy/lua/?.so == plugins == admin: 0.7.0 proxy: 0.7.0 дебаг лог ошибок не пишет: Код 2010-10-20 18:50:16: (message) mysql-proxy 0.8.0 started 2010-10-20 18:50:16: (debug) chassis-limits.c:75: current RLIMIT_NOFILE = 118000 (hard: 118000) 2010-10-20 18:50:16: (debug) chassis-limits.c:79: trying to set new RLIMIT_NOFILE = 8192 (hard: 118000) 2010-10-20 18:50:16: (debug) chassis-limits.c:87: set new RLIMIT_NOFILE = 8192 (hard: 118000) 2010-10-20 18:50:16: (message) proxy listening on port a.a.a.a:3306 2010-10-20 18:50:16: (message) added read/write backend: b.b.b.b:3306 2010-10-20 18:50:16: (message) added read/write backend: c.c.c.c:3306 2010-10-20 18:50:38: (debug) abs wait-for-event::done usec= 0 2010-10-20 18:50:38: (debug) abs lua-exec::done usec= 0 2010-10-20 18:50:39: (debug) abs wait-for-event::done usec= 0 2010-10-20 18:50:39: (debug) abs lua-exec::done usec= 0 2010-10-20 18:50:40: (debug) abs wait-for-event::done usec= 0 2010-10-20 18:50:40: (debug) abs lua-exec::done usec= 0 2010-10-20 18:51:35: (debug) abs wait-for-event::done usec= 0 2010-10-20 18:51:35: (debug) abs lua-exec::done usec= 0 2010-10-20 18:51:35: (debug) abs wait-for-event::done usec= 0 2010-10-20 18:51:35: (debug) abs lua-exec::done usec= 0 2010-10-20 18:51:36: (debug) abs wait-for-event::done usec= 0 2010-10-20 18:51:36: (debug) abs lua-exec::done usec= 0 Пробовал заюзать rw-splitting.lua - не помогло в чем косяк может быть? Сообщение отредактировал Drug - 20.10.2010, 18:19 |
eSupport.org.ua |
20.10.2010, 18:30
Сообщение
#13
|
Одесский сисадмин Группа: Старые пользователи Сообщений: 5,200 Регистрация: 18.11.2004 Из: Одесса Пользователь №: 823 Репутация: 263 |
Самому скрипт писать надо
|
Drug |
20.10.2010, 20:16
Сообщение
#14
|
Группа: Старые пользователи Сообщений: 1,388 Регистрация: 16.07.2004 Из: QWARTA Пользователь №: 549 Репутация: 236 |
|
eSupport.org.ua |
21.10.2010, 08:26
Сообщение
#15
|
Одесский сисадмин Группа: Старые пользователи Сообщений: 5,200 Регистрация: 18.11.2004 Из: Одесса Пользователь №: 823 Репутация: 263 |
Додумались конечно
Но вот что-то делить его ни с кем не хотят, жлобы наверное (IMG:style_emoticons/default/wink.gif) |
Drug |
21.10.2010, 12:16
Сообщение
#16
|
Группа: Старые пользователи Сообщений: 1,388 Регистрация: 16.07.2004 Из: QWARTA Пользователь №: 549 Репутация: 236 |
А знаете таких лично? (IMG:style_emoticons/default/smile.gif)
|
Admin |
21.10.2010, 12:21
Сообщение
#17
|
Группа: Admin Сообщений: 10,656 Регистрация: 16.05.2002 Из: "ХостОбзор" Пользователь №: 2 Репутация: 302 |
Самое время протестировать: http://forum.hostobzor.ru/index.php?showforum=94 (IMG:style_emoticons/default/smile.gif) |
sergeybezzub |
21.12.2010, 16:58
Сообщение
#18
|
Группа: Старые пользователи Сообщений: 3 Регистрация: 18.12.2010 Из: Россия Пользователь №: 13,201 Репутация: 181 |
А смысл тогда в чем у прокси если он не может писать на два бекэнда, а репликация master-slave у нас идет с задержкой в 800 секунд
Только что разве для селектов на базы. но это сделать нет возможности если репликация тормозит |
eSupport.org.ua |
21.12.2010, 20:12
Сообщение
#19
|
Одесский сисадмин Группа: Старые пользователи Сообщений: 5,200 Регистрация: 18.11.2004 Из: Одесса Пользователь №: 823 Репутация: 263 |
Правильно, надо писать свой синкер, как это сделали в ispsystem (oproxy).
|
Текстовая версия | Сейчас: 01.06.2024, 08:18 |