SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 12.02.2016 15:53:45

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

galera cluster общие вопросы

Добрый день.

Есть несколько вопросов.

У меня стоит три сервера. На каждом Galera 10. Запускаю скрипт на проверку производительности. он создает 5 миллион записей в таблице. Это занимает некоторое время. До этого теста я специально выключаю одну ноду. И, после запуска теста с интервалом в несколько сек, чтобы уже успели записаться записи в БД я запускаю, ту ноду, которую держал выкл. Она не запустится до тех пор, пока не будет остановлена нагрузка на репликацию. Т.е. если брать это в боевых условиях. Я настроил три сервера. Один сломался, когда я его сделаю, то не смогу подключить к реплике, потому, что она постоянно будет в нагрузке или ждать ночи, когда людей будет мало?

сам скрипт на создание записей:
sysbench --test=oltp --oltp-table-size=5000000 --mysql-db=dbtest --mysql-user=user_test --mysql-password=csoo45968jngRG prepare

ошибка при подключение к уже нагруженной реплике у галеры такова:
service mysql start
[ ok ] Starting MariaDB database server: mysqld . . . . ..
[info] Checking for corrupt, not cleanly closed and upgrade needing tables..
root@host:~# ERROR 1047 (08S01) at line 1: WSREP has not yet prepared node for application use


syslog:
[Warning] WSREP: RBR event 1 Query apply warning: 1, 50412
[Warning] WSREP: Ignoring error for TO isolated action: source: f4b840c5-d0c9-11e5-bc97-8fd627a231f3 version: 3 local: 0 state: APPLYING flags: 321 conn_id: 187 trx_id: -1 seqnos (l: -1, g: 50412, s: 50411, d: 50411, ts: 182337983948901)


Когда отработает скрипт по созданию записей, тогда свободно подключается новая нода(мастер).

Реплика сделана так, что у меня три мастера.

Видимо я не до понимаю, как устроенна эта Galera. Так, что подскажите куда копать.

Неактивен

 

#2 12.02.2016 23:47:43

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: galera cluster общие вопросы

Насколько я понимаю, у Вас три одинаковых сервера. Если да, то два, на которые Вы пишете, — работают на пике производительности, потому что их sysbench нагружает на 100%. Третьему серверу нужно взять слепок с одного из серверов (это занимает некоторое время) и потом догнать транзакции за это время. А вот догнать он не сможет, потому что мы знаем, что первые два сервера работают на полную мощность, то есть они за это время напишут столько же транзакций.

Просто уменьшите нагрузку при таком тестировании, и случится магия.

Неактивен

 

#3 12.02.2016 23:49:09

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

Re: galera cluster общие вопросы

Спасибо! ))
А, что можете посоветовать из производительности относительно Галеры?

Неактивен

 

#4 12.02.2016 23:49:52

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

Re: galera cluster общие вопросы

Меня интересуют UPDATE, INSERT

Неактивен

 

#5 13.02.2016 00:43:22

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: galera cluster общие вопросы

Если честно, не понял вопроса. Вы имеете в виду, чем нагружать?

Нагружать стоит прямо своим приложением с прогнозируемой нагрузкой. Это идеальный случай. Если вас устроят какие-то абстрактные чиселки, то можно написать программу, которая будет писать абстрактные запросы. Тот же jmeter неплохо должен справляться.

Для решения задачи «поднимется ли третья реплика, если я пишу в первые две», отлично подойдет что-нибудь типа

while true; do mysql -e 'insert into table values (now())' test; sleep 0.1; done

Неактивен

 

#6 13.02.2016 00:54:25

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

Re: galera cluster общие вопросы

Я имею ввиду, что частыми запросами у меня на сервисе являются те команды. Какие вы можете посоветовать улучшения для галеры. Так как для нее есть специфичные парамметры. Которые скажем подойдут для чистой mysql, но вредными будут для галеры.  А, вопрос с поднятием кластера мне понятен теперь. После возникновения ошибки все же запускается галера и проц под 100ню пока не догонит реплику. Потом можно reload бд сделать и все будет норм.

Неактивен

 

#7 13.02.2016 14:30:24

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: galera cluster общие вопросы

Галера — это только обвязка для упрощения масштабирования. Внизу стоит обычный InnoDB, поэтому все настройки, которые Вы делаете для обычного MySQL, будут работать и для галеры. Из специфичного для галеры, пожалуй, только то, что одновременно писать в несколько мастеров может быть плохо (и снижается производительность, и в более ранних версиях это вызывало проблемы вплоть до падения), писать в один сервер — можно без каких-либо ограничений.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson