Diary Spirit @дневники: изнутри

вторник, 03 апреля 2018

Администратор

12:00 Upgrade Day: два новых сервера
В ноябре мы писали о том, что наша техника уже не молода, и сейчас расскажем про нее подробнее, потому что день серьёзного апгрейда настал.

В конце марта многие пользователи столкнулись с проблемой доступа к дневникам, избранному, дискуссиям (им выдавался код ошибки: #1:0). Причина была в том, что вышел из строя один из серверов базы данных, потому были недоступны дневники, располагающиеся на этом сервере, а также избранное с этого сервера. Нам удалось в срочном порядке и без потери данных переключиться на резервный сервер (sql-backup), а сам процесс бэкапа данных временно отключить.

На рисунке ниже показана упрощенная архитектурная схема наших серверов. Некоторые узлы здесь не отображены, поскольку в целях нашей общей с вами безопасности полную схему выкладывать нельзя.



Что мы имеем.
У нас четыре сервера баз данных: sql-main, sql-1, sql-2, sql-3 и резервный sql-backup, на котором 1) ежедневно, 2) еженедельно, 3) ежемесячно и 4) один раз в полгода создаются резервные копии базы данных — каждая из этих копий периодически требуется для восстановления базы данных после каких-нибудь сбоев.

Ночью 27 марта из строя вышел совсем старый сервер sql-1 (и сейчас его заменяет sql-backup). Два других сервера базы данных — sql-2 и sql-3 — такие же старые и могут рухнуть в любой момент.

1. Диски в них — древние SCSI, стоят неоправданно дорого, так как производятся малыми партиями.
2. Купить новые диски и вставить в старые сервера нельзя.
3. Покупать дорогие SCSI и вставлять их в старые маломощные сервера, в которых к тому же в любой момент может выйти из строя память, процессор и другие части, не имеет никакого смысла, ибо через полгода-год придется все это выбрасывать и покупать новый сервер.
4. Сервер sql-backup — это, если помните, четырехлетний относительно свежий (бывший сервер "Юга.ру", который мы освободили после переноса Югов в облако) с новыми дисками, которые мы с вами купили осенью.
5. sql-main — еще бодрый сервер с достаточно прочной дисковой системой SAS, мы покупали его для Дайри лет 5-6 назад.

Тщательно взвесив все за и против, в очередной раз рассмотрев дорогой для нас вариант перехода в облако (аренда по нашим запросам стоит ~350 тыс. рублей в месяц), мы пришли к выводу, что оптимальным решением будет покупка двух новых мощных серверов по 250 тыс. руб. каждый, которые с большим запасом заменят нам три старейших сервера базы данных: sql-1, sql-2, sql-3, а если в будущем выйдет из строя sql-main, то и его тоже.

В итоге:
— sql-1 будет лежать на складе, пригодный только на запчасти,
— по sql-2, sql-3 проведем ревизию и будем использовать для разработки и целей системного администратора.

Серверам be-2, be-3, be-4 тоже по 11 лет, be-5, be-6 посвежее (~6 лет). Выход одного из них не остановит работу сайта, его нагрузка перераспределится между остальными, как это было в свое время с умершим be-1.

Сервер userdir (это второй "юговский" сервер с купленными осенью новыми дисками) хранит и выдает "статику" — картинки и стили с адресом static.diary.ru.

Есть еще сервер fe-1 и не показанный в схеме сервер общего назначения. Они также не молоды, но работают надежно, с нагрузкой справляются и... дай бог им здоровья, в общем.

В новые сервера мы ставим не самые производительные процессоры, так как вычислительная мощность для баз данных — не главное, зато важны скорость дисков и размер оперативной памяти. Вот что мы покупаем за 503 тыс. руб,

       

Мы уверены, что после запуска новых серверов Дневники станут работать быстрее и надежнее.

Если у вас есть какие-то вопросы, пожалуйста, задавайте их в комментариях.
URL
Из местной печати узнал... На время FIFA World Cup-2002...
Интересно, как хирурги во время очень продолжительных по ...
С чаем тут, кстати, беда. Ладно, что за привычным черным ...
Сидеть в маленьком восточном ресторанчике, запивать сырую...
Покидали дома. Брали лишь необходимое. Безропотно повинов...
Хочу ещё огласить... Сегодня я решил, что мой ник тепер...

06.04.2018 в 13:07

06.04.2018 в 13:07
Удачи с апгрейдом, и спасибо за диаграмму архитектуры! =) А какого размера сервера, если не секрет? В смысле, CPU/RAM/disk space по фронтендам, бекэндам и БД. 350k рублей в месяц у меня получается если посчитать на чем-то типа calculator.s3.amazonaws.com/index.html, если сервера с 8 ядрами/32 гигами памяти и террабайтовыми SSD-дисками (+ RDS под замену MS SQL server) - неужели дайревые сервера такие большие? Или в забугорные облачные сервисы нельзя из-за законодательства с хранением личной информации пользователей?

Интерес профессиональный, как от инженера по производительности. Мы просто наоборот перебрасываем старые проекты в облако по возможности, потому что в общем и целом это выходит сильно дешевле, чем самим хостить, админить и поддерживать железо в рабочем состоянии.
URL

06.04.2018 в 14:19

06.04.2018 в 14:19
Поставьте защищенный сертификат на сайт - https.
У нас сейчас используется два типа сертификатов, первый от CloudFlare, второй wildcard-сертификат от LetsEncrypt. Сертификационные центры этих сертификатов считаются надёжными в современных браузерах. https обеспечивает шифрование между пользовательским браузером и серверами, т.е. никто по пути данные не сможет перехватить.
Гегемон, что вы имеете ввиду под "защищённым сертификатом"?
URL

06.04.2018 в 15:23

06.04.2018 в 15:23
Hali, сервера довольно толстые и разные, до 16 ядер, 16Гб памяти (на схеме кстати не все сервера отражены), плюс стоит учитывать S3 и трафик. Всё это получается сильно дороже аренды стойки в ДЦ. Жить в облаках действительно выгодно когда это небольшой стартап, небольшой сайт, что-то с небольшой нагрузкой и небольшим объёмом данных. С точки зрения эксплуатации облака безусловно удобнее. Но есть грань, когда выгоднее жить на своём железе (именно жить, переезд конечно же будет довольно затратным).
URL

06.04.2018 в 21:38

06.04.2018 в 21:38
BaHbka, понятно, с 16 ядрами действительно дешевле свое (у нас не стартапы, кстати, большие и часто государственные кластеры медицинского софта)... возможно, в будущем получится сам софт оптимизировать, чтоб столько ресурсов не нужно было, и сэкономить немного. :-)
URL

07.04.2018 в 15:40

07.04.2018 в 15:40
нос
Спасибо Вам за эти сведения -когда узнаёшь, что происходит, и как с этим справляются, жить становиться спокойней и легче -спасибо за заботу о нас.
URL

08.04.2018 в 19:14

08.04.2018 в 19:14
BaHbka, Vitce, спасибо. Буду знать.
URL

09.04.2018 в 02:29

09.04.2018 в 02:29
Если вы не хотите ни поиск по дневнику, ни более современную работу с БИ и картинками, ни адаптивную версию сайта для мобильных устройств... и ничего другого, кроме новой системы архивирования, то можем это все бросить и заняться ею.

Вообще говоря, может и стоит. Потому что параллельно всем этим работам - в очереди стоят тыщи дневников и ночами грузят сервера ...созданием монстров. Которые по сути ни на что не применимы - в силу своей чудовищности, и всё равно будут впоследствии заменены нормальными бэкапами. Если или когда они будут переделаны. Может быть, лучше действительно всё отложить, объявить о временной отмене архивации до ее переделки (это сразу снимет часть нагрузки). Ударными темпами сделать новую систему архивации. Выдать новые нормальные архивы всем стоявшим в очереди перед перерывом. Выдохнуть - и заняться всеми остальными запланированными работами.

Чисто как вариант ). Он бы снял этот постоянный фоновый прессинг. Мне представляется такая огромная чугунная гиря на ноге, которая тормозит все движения. Было бы неплохо остановиться и перепилить цепь - пусть это займет время, силы, и в период пиления ничего другого нельзя будет делать... зато потом - можно хоть танцевать, хоть в баскетбол, хоть на велосипеде! )))

Сразу прошу прощения, если идея несвоевременная и противоречит планам администрации. Меня просто эта мысль давно погладывает :shuffle:

URL

10.04.2018 в 04:01

10.04.2018 в 04:01
BaHbka — это и правда Иван, наш постоянный сисадмин))
Он ведет Дайри последние 10 или 13 лет, уже не помню точно.
Я ему доверяю в этих вопросах больше, чем себе. Если у кого-то из пользователей есть вопросы или претензии по хостингу или архитектуре системы, пожалуйста, задавайте здесь. Он на все ответит.
URL

10.04.2018 в 04:05

10.04.2018 в 04:05
Hali, вы, наверно, не учитывали трафик. Он у нас весьма значительный.
URL

10.04.2018 в 04:34

10.04.2018 в 04:34
нос, с 16-ядровыми основными серверами и без трафика дорого выходит. У дайрей какой-то уникальный случай вообще в этом плане, так-то как раз крупные проекты переезжают в облака, чтоб экономить и не держать большой флот серверов на случай пиковой нагрузки тогда, когда ее нет. Уж если нетфликсу выгоднее в облаке сидеть с их трафиком, то чего говорить о дайревом трафике... =)
Но конечно, старым проектам сложно переезжать. Там надо и код переписывать, и инфраструктуру переделывать, чтоб реально экономить.
URL

10.04.2018 в 04:54

10.04.2018 в 04:54
Hali, нетфликс в облаке???
Я этого даже не могу представить. Это полностью рвет шаблон.
Ему выгоднее было купить кусок земли в Австралии, построить и оборудовать свой дата-центр!
BaHbka :conf3:
URL

10.04.2018 в 06:00

10.04.2018 в 06:00
нос, да, нетфликс по большей части в облаке, а та часть, что не в облаке - при сетях интернет-провайдеров по всему миру (все сложно) на нетфликсовых серверах. Но вообще фишка в том, что когда количество серверов нужно разное в пиковые часы и в часы отдыха, невыгодно держать максимальное количество серверов постоянно онлайн. Затраты на электроэнергию и охлаждение адовы получаются. Облако позволяет динамически подстраивать количество серверов под текущую нагрузку и экономить на разнице (ну и куча всяких бонусных плюшек).
URL

13.04.2018 в 00:50

13.04.2018 в 00:50
Надеюсь, успели купить до скачка доллара :D
URL

13.04.2018 в 01:45

13.04.2018 в 01:45
Jem4ujina, оплатили в тот же день, когда получили счет — 3 апреля.
URL

15.04.2018 в 15:16

15.04.2018 в 15:16
Шикарная какая новость! :dinlove: Муж сказал, что это очень хорошие сервера, пусть служат долго!
URL

18.04.2018 в 02:33

18.04.2018 в 02:33
Bacca., спасибо) Тоже на это надеемся.

Однако, сервера мы все еще не получили. Обещают выдать в конце текущей недели.
Они их собрали и тестируют, гоняют по-максимуму, чтобы под нагрузкой выловить тухлую детальку и заменить ее до того как отдадут нам. Возможно, что-нибудь уже выявили и заменили, так как срок уже получается втрое больше обычного.
URL

08.05.2018 в 14:45

08.05.2018 в 14:45
нос, Однако, сервера мы все еще не получили. Обещают выдать в конце текущей недели.
Как там успехи?
URL

08.05.2018 в 14:48

08.05.2018 в 14:48
Как там успехи?
Сервера получили, установили в дата-центр, сейчас настраиваем и скорее всего в эту субботу-воскресенье будем переезжать.
URL

13.05.2018 в 06:33

13.05.2018 в 06:33
BaHbka, скорее всего в эту субботу-воскресенье будем переезжать
Ну, с переездом нас? Пока вроде даже летает и без постоянной выдачи 51 ошибки, но сейчас раннее утро, посмотрим как при большей нагрузке пойдут дела.
Ура =)
URL

13.05.2018 в 09:30

13.05.2018 в 09:30
and-other-things, Ну, с переездом нас? Пока вроде даже летает и без постоянной выдачи 51 ошибки, но сейчас раннее утро, посмотрим как при большей нагрузке пойдут дела.
Ура =)

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

13.05.2018 в 09:35

13.05.2018 в 09:35
BaHbka, и она действительно летает как ракета на новом сервере :)
отличная новость. )
URL

13.05.2018 в 22:42

13.05.2018 в 22:42
Окошечком ошиблись или это какая-то метафора? =)))
URL

13.05.2018 в 22:51

13.05.2018 в 22:51
Понятно. Весенние обострения не у всех закончились =)
URL

13.05.2018 в 22:55

13.05.2018 в 22:55
and-other-things, Чего вы с ними разговариваете? Кнопка пожаловаться и пусть админы этого придурка зачистят.
URL

13.05.2018 в 23:04

13.05.2018 в 23:04
Зачистили.
URL

18.07.2018 в 07:21

18.07.2018 в 07:21
чего у вас там происходит? весь вечер вчера добивала "Ошибка 51, Неизвестная ошибка, попробуйте через 20 секунд" при попытке отправлять посты и комментарии и сегодня с утра продолжается испытание терпения - ничего не отправляется. хорошо ж сидели.
URL