@dba_ru

Страница 62 из 718
Fike
22.11.2016
18:06:51
нормально мы отвечаем

KOT
22.11.2016
18:07:06
При всей флудерастии канала сисадминов, когда мне понадобилось прикрутить мултиИП с разными роутами в системе, народ начал писать по сути, где в конфига, и как и почему, а не расписывать о том, что надо взять новую циску, и пропатчить её на фряху, чтобы крутить рулеточку. Вот почему канал ДБА, вроде бы спокойный, по сути, но как доходит до сути, начинаются демогогии в сторону?

Есть задача. Надо сделать максимально быстрой отклик в любой части планеты. Проект - рекламный трафик. Нужно записывать КАЖДЫЙ переход в базу, при этом делать это максимально быстро. В момент захода на сервер скрипт делает 2 запроса выборки данные и до трёх INSERT´ов. Сейчас сделано по принципу 1 мастер и 3 репликации. Мастер стоит в Ирландии, рядом сервер со скриптом, там код отдаётся за 9мс, второй слейв стоит в северной вирджинии, там время отдачи 1с, ещё один в мумбае, там примерно 2с. Задержка из-за INSERT´ов, это время максимальное, при всех трёх (один минимум). Задача: поднять локации по всему миру с минимальным откликом. В планах решить сразу несколько вопросов: 1. Подтянуть мастера к удалёным точкам 2. Сделать резервные копии на случай выпадения мастера по жести Выбранная схема: Мультимастер Актив-Актив, 3 штуки, в Ирландии, Сингапуре и Северной Вирджинии, репликации "все на всех", чтобы не было зависимости от "кольца". Далее у каждого мастера будут ещё свои слейв репликации по стандартной топологии звезды мастер-слейв актив-пассив. Не стал сразу всё делать, а вынашиваю идею уже полтора месяца и постепенно начитался и наслушался, но пора начинать. Постепенно понял, что мне не нужно реплицировать ВСЕ данные во все стороны. А именно, данные деляться на 3 типа: 1. Записи трафика во время прохода, один проход одна стрoка в таблице 2. Данные из админки, настройки компаний и прочая шелуха 3. Сводные данные трафика, раз в час идёт выжимка из первого типа данных, где групируется по источнику, чтобы по ним потом отдавать гибкую статистику. Первые данные надо раскидывать репликой Мультимастер Актив-Актив, это для резервного бэкапа и для других вычислений. Вторые данные в принципе по сути будут всегда писаться из админки, её я пока не планирую разносить, будет в одном месте, писать будет в один мастер (если тот не отвалится), потому не уверен, есть ли смысл её реплицировать по той же схеме. Третьи данные, это вообще жесткая такая нагрузка на базу, когда надо несколько миллионов, а может и несколько десятков миллионов прогнать математикой и записать. Потэтому не сильно хочется хочется грузить все мастера такой задачей, было бы интересней придумать схему, где скрипт, который это делает, опрашивал бы все 3 мастера на предмет загруженности ЦПУ, выбирал бы самый слакающий и на нём гнал, а остальным передавал row based репликацию. Либо же эту сводную базу не реплицировать, а каждый будет делать из своих данных, учитывая, что раз в час он обновляет не только часовую сводку но и немного предыдущей, то любые лаги репликации будут догоняться. В качестве ДБ сервера подумываю взять последнию Перкону, она базируется на последнем mysql, а значит там есть и многопоточная репликация и паралельная репликация. Какие подводные камни я уже наметил: авто инкреминенты надо юзать с настройкай шага и оффсета забыть про юник ключи в мастер-мастер схемах забыть про триггеры, процедуры и прочие безконтрольные элементы, которые могут сломать репликацию Не использывать запросы из разряда генерируемых сервером или основывающиеся на других данных, которые могут быть разными на разных мастерах. Помогите котику найти брод в этом океане подводных камней. Просьба: Не предлагайте уйти от мультимастера. Всё остальное преветствуется ^_^
@etkee , ты видишь тут в конце написано: Не предлагайте уйти от мультимастера.

?

Google
KOT
22.11.2016
18:08:08
Как ты думаешь, зачем я это написал?

Alex
22.11.2016
18:08:17
забудь про производительность тогда

и то что ты пытаешься решить, некоторые тут уже решали и дают советы из опыта.

Fike
22.11.2016
18:09:02
на "в сторону" можно и обидиться!

KOT
22.11.2016
18:09:15
забудь про производительность тогда
Скажи мне, добрый человек. Я задавал вопрос про производительность?

Alex
22.11.2016
18:09:35
100-300 запросов в секунду это мелочи, подключится к вам какой нить индус с посещаемостью в 1кк в секунду

и усе

KOT
22.11.2016
18:10:09
Я его зарублю и подключившему индуса сниму премию.

Alex
22.11.2016
18:10:27
О_О

кто к вам из поставщиков трафа то тогда пойдет ?

KOT
22.11.2016
18:10:40
Да. Именно так.

Alex
22.11.2016
18:10:57
я бы такого разработчика уволил бы.

без обид

Google
KOT
22.11.2016
18:11:35
У нас сильна сторона не на поставщиках, а на реклах. Это раз. Прежде чем подключать очень большие площадки, надо это согласовывать с ИТшниками, а не тыкать в пару кнопок.

Alex
22.11.2016
18:12:06
делай как знаешь тогда :)

потом не удивляйся.

KOT
22.11.2016
18:13:22
100-300 запросов в секунду это мелочи, подключится к вам какой нить индус с посещаемостью в 1кк в секунду
Когда у нас будет такой индус, я поставлю прелоадер, который будет отсеивать только нужный траф по маске, а остальное выкидывать на РТБ

Fike
22.11.2016
18:14:30
тоже удивлен фразой про то, что продажи надо согласовывать с айтишниками

KOT
22.11.2016
18:14:51
Я достаточно набил шишек на преждевременной оптимизации, я на больших финансовых и времянных потерях научился, что надо решать проблемы по мере их поступления. Писать код надо изначально граматно, а вот задачи фантастические придумывать, когда в голом поле стоишь, это глупости.

Fike
22.11.2016
18:14:53
спускать им сводки об объемах - да

KOT
22.11.2016
18:15:35
Если ты подключаешь блог на 50К дейли, это одно дело, а если ты подключаешь пример выше с 1М в секунду, тогда это уже саботаж.

Alex
22.11.2016
18:16:49
ну до 1М в секунду это сильно еще надо дожить

но получить внезапно из-за чего то с 1к -> 40-50к лехко

KOT
22.11.2016
18:17:34
в секунду?

ДДоС разве если

или какой-то хабрэффект

Alex
22.11.2016
18:18:06
ну у нас норма трафика бывала в пиках и по 200-300к в секунду

сейчас там наверное даже больше :)

KOT
22.11.2016
18:18:31
И? У вас был запас?

Alex
22.11.2016
18:18:37
конечно

KOT
22.11.2016
18:18:48
Ну вот, о чём тогда речь?

Alex
22.11.2016
18:19:02
в том что его надо предусмотреть

KOT
22.11.2016
18:19:07
Если влетает с нарушением запаса, то это саботаж, как не крути

Google
Alex
22.11.2016
18:20:03
нет. запас это технологическая проблема.

KOT
22.11.2016
18:20:14
Эээээ, что?

Alex
22.11.2016
18:21:20
потому что если софт не дает увеличивать или обрабатывать текущее количество "заказов" то дело не в бизнесе, а в узком месте и в данном случае это технологии.

Глядя на рынок рекламных сеток. чую пора делать свою :)

особенно когда вижу как иногда эти самые сети пишут

Fike
22.11.2016
18:25:14
Alex
22.11.2016
18:25:33
да можно обычную :) без всяких нейронок

Akzhan
22.11.2016
18:29:41
В общем, я не вполне понимаю топикстартера. Вроде он всё решил. Я не понимаю выбор mysql (или форка), но что тут поделать уже? Разве что реально использовать UUID вместо автоинкремента.

причем использовать можно insert deferred

Но я буду улыбаться при георазнесенных мастер-мастерах...

KOT
22.11.2016
18:30:47
Хорошо, поясню тебе на более простых вещах - у тебя есть город, его инфраструктура расчитана на передвижение 500К машин по городу, а тут вдруг ожиатаж, блэкфрайдэй, все ТЦ в центре города и с области туда пытаются заехать 5М машин. Твои действия?

Alex
22.11.2016
18:30:51
судя по описанию там в архитектуре еще большие проблемы... но пусть развлекаются

KOT
22.11.2016
18:32:14
особенно когда вижу как иногда эти самые сети пишут
Флаг в руки, сетки что держутся на технологиях есть, их ты ничем не сдвинешь, там всё идеально, остальные быдаются засчёт рекломодателей, когда у тебя будет пул тех, кто платит, тогда оно взлетит. Это не первый проект с рекламой, где я присуствую с самого начала.

Лечь под нагрузкой в вашем случае.
Нет, поставить КПП на подъезде, и разворачивать все машины с номерами из области.

KOT
22.11.2016
18:33:24
симиларвеб тебе в руки, там всех найдёшь ;)

Alex
22.11.2016
18:33:40
я вроде простой вопрос задал

KOT
22.11.2016
18:33:52
Топ5 сомневаюсь, топ5 работают насколько помню по чистым CPC & CPM

Alex
22.11.2016
18:34:14
я работал в некоторых из тех топ5

Google
Akzhan
22.11.2016
18:34:23
Нет, поставить КПП на подъезде, и разворачивать все машины с номерами из области.
Тоже вариант. Нет, я понимаю бизнес-требования, вижу, собаку в этом съели. Но вы на пустом месте все-таки попадаете на падения. Пока персонал отреагирует, инфраструктура уже ляжет. И хорошо, если данные не испортятся.

Alex
22.11.2016
18:34:33
и видел тех кто живет из месяца в месяц на оборотку в 5 млн рублей

разница ТОЛЬКО в технологиях.

время проектирования в обоих случаях идентичное

ну и реализации

так что объяснять что вам не нужна производительность = утверждать вы согласны не зарабатывать денег, и не расти.

KOT
22.11.2016
18:36:30
разница ТОЛЬКО в технологиях.
top5 у нас сейчса кто? Гугл, а дальше? Только русских знаю, яндекс, мэйл вроде бы. Ладно сдаюсь, я баннерные плохо знаю.

Akzhan
22.11.2016
18:36:30
Время восстановления соответственно непредсказуемо, бизнес-эффекты - вам судить

KOT
22.11.2016
18:36:40
В попа по автоматизации лидирует попэдс

Fike
22.11.2016
18:37:24
я думаю, можно просто констатировать, что все останутся на своих позициях

Admin
ERROR: S client not available

Alex
22.11.2016
18:38:24
+

KOT
22.11.2016
18:39:24
Akzhan
22.11.2016
18:40:03
Автоматизация. Ну а если реально будет дикий скачёк, то да, будет попадалово, тут так же, как и с возможной ДДоС атакой, мы CF прикрыться не можем.
вам просто нужен нормальный CTO. вы ставите бизнес-требования, без технологий. он выбирает решение.

KOT
22.11.2016
18:40:08
так что объяснять что вам не нужна производительность = утверждать вы согласны не зарабатывать денег, и не расти.
Мы сейчас говорим то о росте, то о скочках, зачем эти вещи мешать в одну кучу?

Akzhan
22.11.2016
18:40:38
это я говорю, как CTO

Alex
22.11.2016
18:41:09
Затем что быстрый рост еще хуже скачков

KOT
22.11.2016
18:41:10
это я говорю, как CTO
Ок, уже более дельный разговор. Как долго ваш проект приходил к данному решению и каким составом?

Alex
22.11.2016
18:41:36
Бизнес ставит цель: подняться с позиции 50 на позицию 10 в топе

Срок 3 месяца

Google
Alex
22.11.2016
18:41:58
И поехали

KOT
22.11.2016
18:42:13
У нас нету гонки за ТОП

Akzhan
22.11.2016
18:42:14
если говорить о задаче, похожей на вашу, то это SpyLog, OpenStat, в дремучих 2000х годах. Реализация новой версии проекта. ушло 7 месяцев, 8 человек

Alex
22.11.2016
18:42:32
Это касается и продажников и технологий

KOT
22.11.2016
18:42:38
У нас есть список рекломадателей (не малый), их потребности и очередность подключёния

Alex
22.11.2016
18:42:50
Странный бизнес, впрочем некоторым нравиться

KOT
22.11.2016
18:43:04
Потому мне озвучивают на какой период, будет какие потребности в пропускной способности с какими функционалами

Akzhan
22.11.2016
18:43:12
так, 1) смените autoinсrement на uuid

KOT
22.11.2016
18:43:34
Если хотят усложнить функционал, и я вижу, что он грузит больше, чем приносит, то я им доношу мысль о том, что это не целесообразно

Akzhan
22.11.2016
18:43:37
это дешево и сразу отвяжет вас от необходимости ждать ответ от БД, используйте deferred inserts

2) закидывайте inserts в очередь, самое дешевое и достаточно надежное - rabbitmq/ потом вставляйте в вашу субд. это дороже, но ваш софт менять не придется далее (что работает с БД - так и будет)

3) вам нужен cto или techlead

больше советов нет

KOT
22.11.2016
18:47:40
На фоне вот этого всего, человек, который здесь больше всех бычил (@rhcsa ) дал в своё время самый дельный совет про использование компрессед для ускорение дб

Akzhan
22.11.2016
18:49:03
неучтенный подводный камень, да, забыл. географическое удаленное расположение мастеров означает большие пинги и т.д. то есть синхронная репликация невозможна. у асинхронной есть большие минусы - в первую очередь ненадежность.

Fike
22.11.2016
18:49:31
на вопросы пр онеучтенные подводные камни продолжают показывать надводные

Akzhan
22.11.2016
18:49:55
в общем - я не видел вживую распределенных мастер-мастеров.

ни на одном крупном проекте не выживает

Akzhan
22.11.2016
18:50:23
особенно весело при split brain (потеря связности между мастерами)

Igor
22.11.2016
18:50:25
вы меня с кем-то перепутали

Akzhan
22.11.2016
18:51:44
в общем, первый пункт из моих советов пока примените. и наймите кого-нибудь

Страница 62 из 718