24au.ru испытывает новые технологии

Наконец-то мы получили новый мощный сервер! И хотя большинство пользователей ничего особенного не заметят, для нас это важное событие. Почему? Аудитория нашего сайта постоянно  растет, требуется новое  оборудование, чтобы сайт работал  быстро, и, что важнее всего – без сбоев.

Значительную роль в современных  сайтах играет система хранения данных. Чем больше данных, чем больше к ним запросов, тем выше требования к оборудованию. Мы стараемся  обеспечивать самое лучшее оборудование для проекта в рамках наших возможностей.

К сожалению, из-за того, что продажи новых процессоров Intel Xeon E5-2600 стартовали только в марте, нам пришлось ждать поставки нового сервера два долгих месяца. Но это того стоило!

Итак, наш  новый сервер предназначен для работы с базой данных Аукциона 24au.ru. Чтобы максимально ускорить работу сайта и минимизировать время обращения к базе данных, сервер должен иметь:

  • многоядерную процессорную конфигурацию,
  • достаточный объем оперативной памяти,
  • высокопроизводительную дисковую подсистему.

По нашим расчетам, новый сервер позволит дать максимально возможную на сегодня производительность, которую можно получить в рамках одного сервера за вменяемые деньги. Теперь подробнее..

Процессоры

Для выполнения большого числа  одновременных запросов к серверу  баз данных полезно иметь запас  по ядрам. Новые процессоры Xeon E5-2650 от компании Intel имеют 8 ядер, а также поддерживают Hyper-Threading, что позволяет в 2-процессорной конфигурации обрабатывать до 32-х потоков за такт.

Хотя нагрузка на процессор не являлась слабым местом старого сервера (сейчас используется 2хXeon 5645, по 6 ядер на сокет, 24 ядра на систему, включая Hyper-Threading), тем не менее, современные процессоры предлагают большую производительность и большее число ядер практически за те же деньги. Поэтому было решено дожидаться современных процессоров от Intel на базе Sandy Bridge-EP.

Память

Тут все просто – чем  больше памяти, тем больше данных можно  держать в памяти и выдавать клиентам без обращения к дискам. Новый  сервер имеет 64 Гб памяти типа DDR3 1600MHz Registered. Такой объем позволяет хранить всю базу данных в памяти целиком! Немаловажен и тот факт, что сервер можно доукомплектовать дополнительным объемом памяти по мере необходимости. Но на сегодняшний день этого объема, по нашему мнению, должно быть достаточно.

Диски

Самое интересное в новом  сервере – это дисковая подсистема. Многие специалисты будут согласны со мной: для построения высокопроизводительной дисковой системы необходимо приобретать  отдельный дисковый массив, стоимость  которого может легко превысить 1 млн. рублей. Причем, это относительно бюджетные решения.

Однако только так можно было повысить скорость работы СУБД с дисками и минимизировать затраты на операции чтения/записи. Но появляются и апробируются новые технологии, одной из которых является Solid State Disk (SSD) – диски на Flash-памяти. Однако такие диски хоть и показывают сумасшедшие по сравнению с традиционными HDD скорости работы, они все же не лишены определенных недостатков, которые до последнего времени не позволяли им занять прочные места в серверах, и использовались главным образом в компьютерах энтузиастов.

Компания Intel, понимая преимущества именно SSD, вывела на рынок новый продукт, Intel SSD 710. Это жесткий диск SSD для серверов. Хотя диск появился в продаже в начале этого года и еще очень мало отзывов, мы решили испытать новые технологии, надеясь на высокую репутацию компании Intel как поставщика высокопроизводительных и современных решений для предприятий.

Новый сервер 24au.ru оснащен 8-ю дисками Intel SSD 710, каждый из которых имеет емкость 100Гб. Для обеспечения высокой скорости работы дополнительно установлен RAID-контроллер Intel RS25DB080 (аналог LSI MegaRAID SAS 9265-8i). Данный контроллер имеет 1 Гб памяти для кэша записи, аварийную батарею, поддерживает SAS/SATA 6Gb/s, умеет работать с SSD-дисками, и просто один из самых производительных контроллеров на сегодняшний день. Комбинация высокопроизводительного аппаратного RAID-контроллера и дисков SSD позволила создать дисковую подсистему, которая может соперничать в скорости с весьма дорогими Hi-end решениями. Остается только испытать это в деле. Ну и заодно проверить надежность такого решения.

В качестве системных дисков решено использовать SSD Crucial m4 128 Гб. Это надежные и очень быстрые диски на контроллере Micron. Для системного раздела, где нет активной записи на диск, это кажется неплохим решением. Но время покажет.

Да, для тех, кто считает, что мы рискуем, используя пока еще  не до конца проверенную технологию, мы хотим сказать, что база данных будет иметь зеркало на другом сервере, которое в случае отказа основного сервера примет все  запросы на себя. Так что потери данных мы постараемся минимизировать насколько это возможно.

А пока тесты: скорость копирования достигала 600 Мб/сек после перезагрузки сервера. Также приведу скриншот CrystalDiskMark:

Раздел для баз данных, RAID10 из 8-ми SSD Intel 710, контроллер Intel RS25DB080

Раздел для баз данных, RAID10 из 8-ми SSD Intel 710, контроллер Intel RS25DB080

Это тест системного раздела, RAID1 SSD Crucial m4

Это тест системного раздела, RAID1 SSD Crucial m4

Серверная платформа

В качестве серверной платформы  выбран Supermicro SuperServer 2027R-WRF. Это 2-х юнитовая платформа, позволяющая установить до 16 дисков форм-фактора 2,5”, имеющая два блока питания. Просто, надежно, удобно.

Итоги

Таким образом, конфигурация сервера выглядит так:

Кол-во Модель
Процессор 2 шт, 16 ядер Intel LGA2011 Xeon E5-2650
Память 64 Гб DDR3 1600 Mhz
Контроллер 1 шт. Intel RS25DB080
Диски 8 шт. SSD Intel 710, 100 Гб
Диски 2 шт. SSD Crucial m4, 128 Гб
Платформа 1 шт. Supermicro SuperServer 2027R-WRF

Нам кажется это внушительная конфигурация, которая должна обеспечить выдающуюся производительность, повысить скорость обработки данных. Это позволит нам ускорить работу сайта сейчас и иметь запас по производительности при росте аудитории в будущем. Будем надеяться, что наклейка «SPEED DEMON» от Intel действительно означает то, что на ней написано.

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

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

Мы благодарим компании iRu за помощь в выборе и приобретении сервера,  а также персонально за личное терпение и неоценимую помощь Сергея Сурова (региональный руководитель компании iRu), Бекзата Байларбекова и Алексея Жукова (менеджеры компании «Мерлион»).

Это уже 4-й сервер, поставленный нам компанией Мерлион/iRu. Хочется отметить высокий профессионализм сотрудников, надежность компании.  Надеемся на продолжение сотрудничества.

Технический директор компании  24au.ru Александр Лисович

Серверы компании 24au.ru

Серверы компании 24au.ru

P.S. Важно!
Наша молодая команда всегда готова принять талантливых и амбициозных программистов (ASP.Net, C#, Perl, C++, JavaScript), специалистов баз данных (SQL, noSQL), системных администраторов (Windows 2008, SUSE Linux), программистов мобильных приложений (iOS, Android, Windows Phone), верстальщиков (в том числе HTML5, CSS3), менеджеров по продажам (с опытом и без). Зарплата достойная, работа интересная, коллектив отличный, начальство справедливое, цели мирные.

Тэги:ВакансииТехнические работы
Добавить комментарий

Комментарии (37)

antonko

Да, впечатление производит! Хотя, если разобраться, это обычный сервер, хорошей, топовой комплектации, который могут себе позволить крупные компании:) Мы, например, не можем.

Вы разносите систему на два дата-центра, осваиваете No-SQL, а зачем? У вас .NET Framework, есть Azure! Настолько удобная архитектура для крупных проектов, в ней есть всё, и кеш, и No-SQL, и большие распределенные MS SQL базы, легкая масштабируемость и т.д. Прямо вам доктор прописал :)

Александр

Много есть решений, и Azure в том числе. Но Azure лишь недавно стала доступна на российском рынке, да и не думаю, что там все так хорошо и замечательно, особенно в вопросе масштабирования реляционных баз данных. Хотя на сегодня наши масштабы и нагрузки могут позволить использовать облачные среды, но было принято решение строить собственную инфраструктуру. Это, понятное дело, сложное и затратное мероприятие. Зато интересное и в перспективе более выгодное, т.к. решение получится более гибким, независящим от функционала стороннего поставщика. Уже сейчас мы используем не только продукты компании Microsoft, но и Opes source, а так же собственной разработки, которые сложно было бы применить в Azure.

Павел

Алесандр, видимо имелос в виду OpeN source :)

alex_ev

Я думал там жеские минимум как по 1 Tb а там по 100 Gb,а так монстра собрали….

Александр

Именно:)

Поль

Успехов вам больших в развитии! Ваш сайт — это больше, чем торговая площадка. Спасибо!

ВсемКомп

Поздравляем! :) Но всё-же нужно было блейд взять, хотябы на c3000 шасси и пару лезвий HP ProLiant BL460c G8 2 x E5-2660/(8x8GB) + хранилку в виде лезвия, ну да, вышло бы дороже ( тысяч 500), но масштабируемость, простота и качество было бы на высоте :), ну и конечно статус взлетел бы вверх :)
P.S. antonko, если не дают много денег, а хочется что-то качественное, заходите к нам, всемкомп.ру :)

Александр

2 ВсемКомп: блейды — это круто! Но слишком дорого. Утилизировать сразу такую мощь мы не сможем, но платить за аренду места в стойке придется сразу. Ну и лицензирование ОС тоже не бесплатное, гораздо интереснее в этом отношении виртуализация.

Александр

2 ВсемКомп: да, спасибо и вашей компании за сервера! Служат исправно!

sashakrasnoyarsk

Ну ничего так. Вот только ставить мастдай на такую крошку — кощунство. Линукс x64 и тогда сервак раскроет себя!

sashakrasnoyarsk

Кстати, такое количество мозгов требует мастдай x64, а интелы x64 существенно проигрывают амд x64, так что хвастаться выбором платформы не приходится.

sashakrasnoyarsk

Александру: кстати, недавно у вас на аукционе уже участвовавший в дискуссии ВсемКомп продавал довольно бюджетный блэйд. Не слишком-то современный, но совсем не дорогой. А для тех, кто понимает, много ядер никогда не дадут такой производительности, как много нодов. Короче, за «облаком» на хорошем блэйде будущее.

kviset

Ребята!!! Ваша дисковая подсистема загнется через пол года тире год!!! Какой идиот вам посоветовал использовать ТОЛЬКО SSD диски!!! своп ОС надо держать на сата, ни один SSD-диск не выдержит свопа винды!!!

kviset

Извиняюсь за опечатку. SATA читается как SAS

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

«ставить мастдай на такую крошку — кощунство» — неистово плюсую

Александр

2 sashakrasnoyarsk: про линукс без комментариев. Тем более, что WinServer2008R2 только x64 (причем тут мало просто x64, надо еще и Enterprise) Не говоря уже о том, что под линукс из нормальных СУБД только Оракл, но это уже отдельная тема. Что касается блейда, то это не панацея. Я не против блейдов, но новый стоит дорого. Проще купить 1U-Twin — не намного дороже бу-блейда, зато мощные процессоры + виртуализация покажут лучшую производительность.
2 kviset: Спокойно! Свопа не будет! Ну и потом там есть у нас пара обычных SATA в RAID1, для файлов всяких. Что касается использования SSD — нам самим интересно, что из этого получится. Никто не запретит нам потом поменять их на традиционные SAS, но, надеемся, не придется.
2 Администратор: нелюбим MS?:)

sashakrasnoyarsk

Александр, офигенный многоядерник даёт более чем посредственную производительность в пересчёте на единичное ядро. Что более-менее нормально, например, для терминального сервера, будет очень хило для сервера БД. Установить много-много-многоядерный сервер как виртуальный сервер для провайдера — хорошо, но крутиться смогут только довольно хилые приложения. Впрочем, nginx в руки и будет уже полегче.

Александр

2 sashakrasnoyarsk: все зависит от задач. В приложениях, оптимизированных под многопоточность, количество ядер непосредственно отражается на производительности, тогда как в слабооптимизированных толку от большого числа ядер будет мало. Тоже касается и БД — если основным запросом будет обращение одного бухгалтера к мегаотчету, то тут хоть вагон ядер поставь быстрее не будет. В случае же большого числа параллельных запросов (наша система), увеличение количества ядер при большой нагрузке даст хороший запас производительности. Другое дело, что на сегодня наш текущий сервер загружен в пике на 50% (2xXeon 5645, 6-ядерники) и новые процессоры мы скорее всего полностью не нагрузим. Зато есть запас вычислительной мощности, который можно утилизировать на виртуалках для того же веб-кластера, которому как раз процессор важнее всего.

sashakrasnoyarsk

Александр, просто сможете нагрузить большим количеством сайтов

papsuev

да ….. сильно не хватает для Андройда приложения 24au.ru

Александр

2 papsuev, сами понимаем, сделаем обязтельно!

nalcheg

2Александр «Не говоря уже о том, что под линукс из нормальных СУБД только Оракл»
слишком толсто ))

Роман

Опять зачем то люди думают, что системе нужно зеркало — это не так, особенно если она используется только во время загрузки и исключительно для СУБД, лучших результатов с таким контроллером LSI можно добится при использовании RAID 5/50 с отдельным луном для системы (это я говорю по опыту, т.к. у нас много систем подобного и большего масштаба).

Что касается мнения о этом сервере и Linux, то это ошибочное мнение, если задача отлично решается и реализована на платформе Windows и куплены уже лицензии MS SQL и Windows Ent, то как можно оправдать покупку Oracle и обучать человека работы с ней, а в итоге получить то же самое и новый гемор для внедренца и программистов (увы Linux и Oracle не даст прироста в таких малых масштабах применения), а надёжность и быстрота Oracle в наше время сомнительна и в не кластерном исполнении они не лучше MS SQL.

Александр

2 Роман: думали про RAID5/6 (к сожалению 50 этот контроллер не поддерживает). И по синтетическим тестам (как и в теории) производительность RAID5 была выше, хотя и не намного, больше в записи. Но в degraded mode будут тормоза. Хотя при таких объемах и наличии Hot Spare ребилд не займет много времени, но все же. Так же по опыту в R5 диски летят чаще, т.к. на любую операцию записи дергается весь массив, что уменьшает ресурс отдельного диска, тем более SSD. Так что еще в пользу R10 сыграли сами диски с их ограниченным ресурсом операций записи, которых у R5 больше, а у R6 еще больше при тех же самых нагрузках на БД, чем у R10. Были бы традиционные SAS, то вероятно дольше бы думали в сторону бы R5/6. Но там бюджеты меньше, объемы больше и все равно предпочли бы R10. R10 конечно тоже не панацея и тоже имеет шансы умереть со всеми данными, но все таки больше доверяю R10.

Роман

2Александр: значит всё же внутрений выбор больше преобладает :)

У MegaRAID SAS 9265-8i, чем является ваша OEM версия от Intel умеет:

RAID levels 0, 1, 5, and 6
RAID spans 10, 50, and 60

А так же для СУБД будет надежнее (на мой взгляд) гибридное решение SSD + SAS, SSD в качестве дополнительного кэша записи с технологией CacheCade с ними показатели будут выше, а без FastPath SSD в массивах дают меньше IOPS.

Александр

2 Роман, прошу прощения. Я перепутал 50 с 5ЕЕ. Уровни 50/60 этот контроллер, естественно, поддерживает.
Что касается FastPath, то буду изучать. Было такое мнение, что это маркетинговая фишка для гибридных решений. Видимо ошибался. Спасибо за подсказку!

kupez

Поздравляю!

;)

Евгений

Красиво! Но я тоже думаю что SSD пока рисково.

Alasm

2 All
Ух, прям ветка админов…
Мож в иное русло перетопчем, как сообщество?
А-ля 24forum.ru, а то так много написать хочется, да и сабж растягивается на несколько тем, что писать ответы/обсуждения уже трудно — треды отслеживать через строки напоминает фильм «Игры разума» :)

Вчем-то согласен с Александр, в чем -то нет: ресурс на чтение за пределами практики (MFT 2млн.ч.) и я бы подождал до 3 квартала, до 720 серии на SLC.
+ еще моменты.
В целом за вас рад — покупка новой железяки (хоть и у всем комп — привет :), хоть в китайской стороне, хоть новый хС ) это позитив для команды ит :)

2kviset — а кто сказал что своп нужен на диске? он нужен в памяти на крайняк :), если невмоготу без него.

2 Роман — лучше посоветовал бы перейти на формат файлов =4К, у тебя система 40 раз на дню грузится? или как у товарища выше, все засвопится норовит :)?

Alasm

2 Александр
Платить аренду 2+2U = 6тыс.р./мес. (мск, 100 мбит) и 6U = 9тыс.р. не так уж и накладно, а вот 10GbE это боольшой +. Я уж молчу про расширение. ИМХО c3000 совсем не плохая идея. Его же необязательно весь лезвиями закрывать.

Alasm

2 Александр
Узкие места — контроллер один — соответственно и бэкенд один (будь их хоть 10 на виртуалке) и и платформа супер-пупермикро :D. ИМХО она не супер и не микро.
В общем судя по-всему деньгами вас не балуют … эх как всегда…

Александр

2 Alasm — узкие места будут всегда. Вернее не так — чем больше бюджет, тем меньше узких мест. Тут все понятно. В данном случае на что заработали, то и купили:) Понятно, что это не HP+EMC, но тут уж и этому рады. В любом случае решение далеко не идеальное, но в свой бюджет, на наш взгяд, весьма неплохое.

Роман

2 Alasm: советовать что то конкретное не оценив данные не могу, и вообще я не там работаю, а просто описал некоторый «практический» опыт работы с подобными решениями и с более крупными БД.

Причём тут загрузка системы и своп? Тут важнее то, что нет массива для логов БД, которые уж никак нельзя ложить на один массив с БД, а систему можно грузить с обычных SAS.

Вася

Для чего столько серверов для такого проекта? Нагрузка минимальная — не более 100000 в сутки. Вероятно, программите плоховато )))))

skwo

Вероятно, Вася, вы не в теме напрочь.

Александр

Прошло почти 2.5 года с начала эксплуатации SSD в качестве основных дисков на сервере.
Могу сказать, что за почти 2.5 года эксплуатации SSD-дисков на самом нагруженном в плане системы ввода вывода сервере (основная БД MS SQL, 200 Гб) мы результатом довольны. Скорость работы с дисками в случае SSD значительно выше SAS решений, на уровне дорогих промышленных СХД. Т.е. раньше была проблема именно с дисковой подсистемой, SAS не справлялись, сейчас проблемы нет даже при двукратном росте БД.
Тем не менее были и проблемы. Правда ожидаемые. Вышел из строя через год эксплуатации один из дисков на системном разделе. Но там использовались десктопные SSD, а в основном разделе используем серверные SSD, у которых срок службы значительно выше. Закупили серверные SSD и для этого раздела, будем менять. Правда надо сказать на этом разделе была размещена база данных temp, которая довольно активно использует диск. Если перенести эту базу на основной раздел, то наверняка диск бы до сих пор работал. Хотя второй работает, видимо просто не повезло с конкретным диском. Да, еще — диск не умер на самом деле. Просто ресурс записи у него остался небольшой, его можно использовать в ненагруженной на запись системе.
Использовались следующие диски:
2xSSD Crucial m4 128 Гб для системного раздела, один умер, заменен на аналогичный.
8хSSD Intel 710 100 Гб для раздела БД. Данные диски на тот момент являлись наиболее надежными из числа доступных серверных дисков. Хотя цена на них была кусачей — от 14 до 21 тыс. (покупали двумя партиями, сначала 4 по 21, затем Intel снизил цену, и купили еще 4).
В остальных машинах пока SSD не использовали. Хотя есть мысли на этот счет. Сами диски успешно трудятся как на нашем сервере, так и в машинах разработчиков. Технология понравилась. Лично у меня уже 3 года в качестве системных стоят SSD.

Александр

Да. Памяти добавили еще 64 Гига. Не то, чтобы была потребность, но MS SQL память кушать любит, и даже сейчас из 128 Гб он использует 96 Гб.

Оставить комментарий

Войти как участник аукциона