NGINX до Марса доведет
Сравнительные размеры марсоходов. Curiosity — справа
Ровер Curiosity стал самым совершенным космическим аппратом из когда либо построенных – в его создании приняли участие и наши специалисты. Например детектор нанотепловых нейтронов для определения плотности водорода в атмосфере Марса был создан и построен в институте космических исследований РАН. А публичные сервера с сайтами программы исследования марса работают на написанном в Москве сервере Nginx.
Еще в ходе планирования миссии по высадке и эксплуатации Curiosity специалисты NASA позаботились о том, чтобы каждый желающий смог увидеть трансляцию с поверхности Марса. У NASA было две задачи — позволить себе большое количество интернет-посетителей и сделать так, чтобы сайт nasa.gov внезапно не рухнул. После некоторых раздумий для этой цели был выбран NGINX.
«Преимущество сервера заключается в том, что он используется для сайтов с большим количеством трафика. Nginx — это русский сервер, разработанный программистом Игорем Сысоевым. Видео, которое поступает с марсохода, передается через систему космической связи на Землю, а дальше раздается всем желающим с помощью созданного на Nginx кластера», — рассказал генеральный директор нашей портфельной компании Nginx Максим Коновалов.
Еще на этап проектирования миссии Curiocity специалисты наса привлеки к задаче известную компанию-тестировщика медиа сервисов SOASTA. Их задачей было проверить систему на прочность при нагрузках до 25 гигабитов в секунду. Для этого SOASTA использует распределенную облачную систему способную имитировать миллионы обращений реальных пользователей – именно такой машиной для dos-атак SOASTA тестировала сайт london2012.com которому придётся обрабатывать больше миллиарда обращений во время олимпиады. 25 гигобайт в секунду это не очень много, но достаточно для тестирования систем – реальная нагрузка должна генерировать в 200-300 раз большую полосу.
Нью-йоркцы смотрят прямую трансляцию посадки на Марс с задержкой всего в 14 минут — это быстрее чем трансляция олимпийских игр из лондона на NBC.
А теперь подробное описание тестовых систем SOASTA и NASA для марсианской миссии.
- Роль источника сигнала играл сервер NASA (Mac Pro стоящий в офисе лаборатории реактивного движения НАСА в Пасадене, Калифорния) раздающий видео в четырех битрейтах (250, 500, 750 и 1,000) на единственный Флеш Медиа Сервер. Выходящий трафик кешировался одним “tier 1″ сервером работающим на Nginx, окруженный сорока серверами “tier 2″ с балансировщиком нагрузки на Nginx и работающим на виртуальном облаке Amazon EC2.
- SOASTA генерировала нагрузку на шести облаков Amazon EC2 по всему миру, заливая более 25 Gbps трафика на тестовый сервер в течении 40 минут.
- Через 20 минут они отключили 10 серверов (стрелочка номер 1 на скриншоте) что бы увидеть сможет ли облако амазона справиться с возросшей нагрузкой. Это временно снизило количество трафика, который система могла выдавать, но амазоновский балансировщик восполнил «упавшие» сервера и вернулся к скорости 25 Gbps в течении всего 5 минут.
- Когда команда тестировщиков уронила уже 20 северов (стрелочка 3), пропускная способность системы упала до 12 Gbps и сервера начали показывать признаки перегрузки. Но балансировщик Амазона снова восполнил потери и вернул систему на исходные 25 Gbps.
- В итоге тестовые сервера SOASTA скачали примерно 68Тб видеотрафика (Стрелочка 2) из кэша Nasa за короткий 40-минутный тест.
По результатам тестов SOASTA не оставалось ничего иного, как признать устойчивость NGINX:
Нагрузка на основном сервере Флеш Медиа Сервере 1-го уровня кэша остается очень низким по совокупности тестов, мы не должны испытывать никаких проблем с множеством стеков во время прямой трансляции. Тестовые испытания показали полное отсутствие задержек буферизации или падения битрейта.
Тесты убедительно показывают несомненную способность совокупности стеков выдержать зрительскую нагрузку для трансляции ровера Curiocity.
Вчера весь мир без задержек и просадок битрейта наблюдал историческую посадку на Марс, которая транслировалась на различные устройства от айфонов в Москве до экранов на Таймс-сквер, так сервер Nginx, пусть и весьма опосредованно, но внес свой вклад в триумф космонавтики, так что все его пользователи могут почувствовать себя причастными к освоению солнечной системы.
Первый привет с Марса.