Search
Write a publication
Pull to refresh
-22
0
Send message

Архитектура Stack Overflow

Reading time12 min
Views58K
image

Чтобы понять, как все это работает, давайте начнем с показателей Stack Overflow. Итак, ниже приводится статистика за 12 ноября 2013 и 9 февраля 2016 года:

статистика
  • 209,420,973 (+61,336,090) HTTP-запросов к нашему балансировщику нагрузки;
  • 66,294,789 (+30,199,477) страниц было загружено;
  • 1,240,266,346,053 (+406,273,363,426) битов (1.24 TБ) отосланного HTTP-трафика;
  • 569,449,470,023 (+282,874,825,991) битов (569 ГБ) всего получено;
  • 3,084,303,599,266 (+1,958,311,041,954) битов (3.08 ТБ) всего отослано;
  • 504,816,843 (+170,244,740) SQL-запросов (только из HTTP-запросов);
  • 5,831,683,114 (+5,418,818,063) обращений к Redis;
  • 17,158,874 (not tracked in 2013) поисков в Elastic;
  • 3,661,134 (+57,716) запросов Tag Engine;
  • 607,073,066 (+48,848,481) мс (168 часов) выполнения SQL-запросов;
  • 10,396,073 (-88,950,843) мс (2.8 часов) затрачено на обращение к Redis;
  • 147,018,571 (+14,634,512) мс (40.8 часов) затрачено на запросы к Tag Engine;
  • 1,609,944,301 (-1,118,232,744) мс (447 часов) затрачено на обработку в ASP.Net;
  • 22.71 (-5.29) мс в среднем (19.12 мс в ASP.Net) на формирование каждой из 49,180,275 запрошенных страниц;
  • 11.80 (-53.2) мс в среднем (8.81 мс в ASP.Net) на формирование каждой из 6,370,076 домашних страниц.


Вы можете спросить, почему существенно сократилась продолжительность обработки в ASP.Net по сравнению с 2013 годом (когда было 757 часов) несмотря на прибавление 61 миллиона запросов в день. Это произошло как и из-за модернизации оборудования в начале 2015 года, так и из-за некоторого изменения параметров в самих приложениях. Пожалуйста, не забывайте, что производительность – это наша отличительная особенность. Если Вы хотите, чтобы я более подробно рассказал о характеристиках оборудования – без проблем. В следующем посте будут подробные спецификации железа всех серверов, которые обеспечивают работу сайта.

Итак, что изменилось за прошедшие 2 года? Кроме замены некоторых серверов и сетевого оборудования, не очень многое. Вот укрупненный список хардварной части, которая обеспечивает работу ресурса (выделены различия по сравнению с 2013 годом):

  • 4 Microsoft SQL Servers (новое железо для 2-х из них);
  • 11 Web-серверов IIS (новое оборудование);
  • 2 сервера Redis (новое оборудование);
  • 3 сервера Tag Engine (новое оборудование для 2-х из 3-х);
  • 3 сервера Elasticsearch (те же, старые);
  • 4 балансировщика нагрузки HAProxy (добавлено 2 для поддержки CloudFlare);
  • 2 брандмауэра Fortinet 800C (вместо Cisco 5525-X ASAs);
  • 2 маршрутизатора Cisco ASR-1001 (вместо маршрутизаторов Cisco 3945);
  • 2 маршрутизатора Cisco ASR-1001-x (новые!).

Что нам необходимо, чтобы запустить Stack Overflow? Этот процесс не сильно изменился с 2013 года, но из-за оптимизации и нового железа, нам необходим только один web-сервер. Мы этого не хотели, но несколько раз успешно проверили. Вношу ясность: я заявляю, что это работает. Я не утверждаю, что это (запуск SO на единственном web-сервере) — хорошая затея, хотя каждый раз выглядит весьма забавно.
Читать дальше →

Байки «инженерного спецназа», ну или просто наша весёлая работа

Reading time10 min
Views76K


Шли по трассе от Магадана на Якутск, везли комплектующие для одного дата-центра. Холода в этих краях стоят такие, что машины не глушат. Потому что до весны уже не заведёшь. Машины надо ставить в тёплые гаражи или ангары. Мы уже под вечер как раз нашли такой ангар и стали стучать. Открывает сильно поддатый хозяин, такой простой сибирский мужик в ватнике и ушанке:
— Здравствуйте, можно у вас машину поставить?
— Не. Идите отсюда, я вас не знаю!
— Да ладно тебе, мужик, мы же тебе денег дадим.
Мужик вынимает из кармана котлету пятитысячных сантиметров пять толщиной и сообщает:
— Да я те, ик, сам денег дам ща! Вот бухнёшь со мной — тогда поставим.

Обязательства по госконтракту для этого дата-центра мы тогда выполнили.

А вы заходите внутрь, буду дальше рассказывать наши байки. Кстати, да, кто беспокоился за нашу крысу (ещё живую на фотографии в прошлом посте) — хоть ей и прилетело 380 В, но она оклемалась и начала немного ходить. Мы её отпоили сладким чаем и отпустили, убегала она уже весело. Правда, что с ней было дальше, не знаем.
Читать дальше →

Романтика дальних инженерных выездов (а наша крыса выжила)

Reading time8 min
Views104K

"— Да ладно тебе, чё, правда нельзя так? Удобно же, кабель многожильный, мягкий. В одножильный так не завернёшь..."

Заказчик — большая компания — объявляет тендер на ИБП и кондиционирование для инфраструктуры своих дата-центров по всей стране. Объектов чуть меньше 30 штук, причём включая города, где нет железной дороги. В основном. В августе стартует конкурс, в ноябре только-только заканчивается оформление всей документации. Соответственно, наши инженеры приезжают уже в тот момент, когда «снаружи» от -30 до -40 наружного воздуха. А по условиям контракта нужно мыть наружный блок кондиционера.

Кто не знает, сообщаю — делается это водкой. Желательно — палёной, она хуже обмерзает. Процедура такая: покупается ящик или два в ближайшем магазине, оцинкованное ведро. В этот момент прохожие уже начинают крайне болезненно реагировать, наблюдая за сливом водки в ведро. Водка, кстати, во многих удалённых городах — до сих пор альтернативная валюта покрепче рубля. Затем на лицах окружающих проступает неподдельная печаль и вся мировая боль, когда блок кондиционера начинает промываться.

В такие выезды мы всегда отправляем хотя бы одного инженера с опытом подобных работ, потому что подводных камней много. Начиная от того, что за святотатство могут банально побить, и заканчивая тем, что ящик водки потом «дома» надо как-то провести по бухгалтерии. А вопросы будут. Ещё одна опасность — при распрыскивании на внешний блок кондиционера можно крайне быстро надышаться парами спирта. Как шутят бывалые — в инструментальном наборе обязательно нужно иметь отсек для огурчиков, чтобы снимать последствия ингаляций такого типа. Следующая проблема — всё надо делать быстро, потому что при -35 и ниже с учётом температуры конденсатора около 60 градусов в плюсе — запах водки стремительно распространяется по району в направлении ветра. Или всенаправленно, если ветра нет. Местные жители реально начинают очень странно себя вести и искать источник беспокойства.

Заходите, буду делиться другими историями.
Читать дальше →

Sony купила видео российского художника и заблокировала его на YouTube (снова)

Reading time3 min
Views49K
Сегодня мне написал Алексей Шамраев, житель Подмосковья. Написал после того, как прочитал статью Sony преследует автора, видео которого использовала в своём клипе: у Алексея такая же история.

Сначала некто купил ролик Real Love Story, затем использовал его в качестве основы для клипа певца Pedro Lima (видео уже закрыто), и сразу после этого Sony Music Entertainment зарегистрировала видео в ContentID на YouTube и заблокировал оригинал.

Обращение Алексея отклонил «правообладатель», которым на самом деле является сам художник.

Под катом — хронология событий: история о том, как YouTube в спорных ситуациях встаёт на сторону крупной компании.

image
Читать дальше →

О том, как я написал простое приложение для Android/iOS

Reading time6 min
Views92K
Хочу сразу отметить, что это не статья от профессионала, скорее взгляд любителя на мобильную разработку, скажем так, «с нуля». Мое основное занятие — это создание сайтов. В данное время я работаю у провайдера интернета и занимаюсь поддержкой внутреннего биллинга/сайта и так далее (PHP и немного Perl), довольно скучное занятие, скажу я вам. В общем, я обычный провинциальный «программист».

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

Придя на работу в один из серых скучных дней, я решился и написал в поиске Google «как сделать мобильное приложение». Это было очень наивно. Кажется, я даже попробовал задать вопрос на Toster, «с чего начать разработку под мобильные приложения», тогда я еще не понимал насколько глупым воспринимается этот вопрос профессионалами.
Читать дальше →

Эксперимент: создание алгоритма для прогнозирования поведения фондовых индексов

Reading time7 min
Views39K


Ученые факультета вычислительной техники из исламского университета Азад, расположенного в ОАЭ, опубликовали работу, посвященную прогнозированию поведения фондовых индексов на основе технологий нейронных сетей, генетических алгоритмов и data mining с использованием опорных векторов. Мы представляем вашему вниманию главные мысли этого документа.
Читать дальше →

Математика на пальцах: линейно-квадратичный регулятор

Reading time10 min
Views67K

Пара часов из жизни математика-программиста или читаем википедию


Для начала в качестве эпиграфа цитирую rocknrollnerd:
— Здравствуйте, меня зовут %username%, и втайне раскрываю суммы из сигма-нотации на листочке, чтобы понять, что там происходит.
— Привет, %username%!


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

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

Раз уж пошёл эксгибиционизм про мою работу, то вот вам моё рабочее место (кликабельно):

Математика для программистов!

10 тезисов инди-разработки, которые привели к успеху

Reading time5 min
Views37K
Лет 10 назад, когда я только начинал свой путь в игровой индустрии, слово инди ещё никто не произносил, а игровые корпорации на постсоветском пространстве казались всем мифической сказкой. В те прекрасные времена, когда на игровом рынке только расцветали первые российские браузерки, мы с другом начали делать свой проект. Мы не считали себя предпринимателями или стартаперами. Нет. Вчерашние студенты, обычные игроки, фанатеющие по Варкрафту, Героям и другим классическим играм. Сегодня я хочу поделиться с вами личным опытом, полученным за время инди-разработки браузерной игры с нуля. Начинающие разработчики, это статья для вас.



Читать дальше →

Численные характеристики онлайн-игр

Reading time12 min
Views64K
8 лет назад маленькая команда разработчиков, почти что бывшие студенты, решили сделать свою первую большую, как им тогда казалось, игру. Они выполняли все функции вперемешку. И гейм-дизайн, и программирование, и арт. Кто что умел. Получившаяся игра называлась «Возмездие». Это была браузерка. Она показала неплохие результаты: доходы с игры выросли от нескольких десятков до сотен тысяч рублей за первые месяцы. Для группы в несколько человек это уже какие-то деньги. В таком режиме игра просуществовала порядка года. А потом аудитория стала уменьшаться, доход начал падать. Разработчики подумали: «Наверное, мало контента». Игра была контентнозависимой, т.е. постоянно жила на обновлениях. Они поднажали, стали производить больше локаций, предметов, уровней, ремесленнических рецептов — всё, что делали раньше. Но пользователи все равно продолжали уходить. И было непонятно, почему это происходит. В итоге проект, просуществовав три года, закрылся — рано или поздно такой конец ждет все онлайн-игры.


Арт персонажа браузерной игры Возмездие

Тогда мы не осознавали, насколько важна аналитика и понимание тех процессов, которые идут внутри игры. Поступая интуитивно, мы делали всё, чтобы игра умерла быстрее, хотя исправить ситуацию и подарить проекту ещё один год было не так сложно. Сейчас мы уже понимаем это. О важности аналитики в онлайн-проектах я и хотел бы здесь рассказать.
Читать дальше →

Правила хорошего тона при написании плагина на jQuery

Reading time7 min
Views32K
Правила хорошего тона при написании плагина на jQueryЯ написал уйму плагинов на jQuery. Если посмотреть код всех плагинов, сортируя их по дате публикации на github, то можно проследить эволюцию кода. Ни в одном из этих плагинов не соблюдены все рекомендации, которые будут описаны ниже. Все что будет описано, лишь мой личный опыт, накопленный от проекта к проекту.
Писать расширения на jQuery довольно просто, но если хотите узнать как написать их так, чтобы потом их было просто поддерживать и расширять, добро пожаловать под кат.
Читать дальше →

Atari добавит в Steam 100 классических игр, причем с мультиплеером и другими плюшками

Reading time1 min
Views14K


Ретро-игры будут жить вечно. То старые игры портируют в браузер, то создают эмуляторы старых консолей. Теперь 100 классических игр Atari переносит в Steam. В список таких игр, например, входят Asteroids и Centipede. Все игры собраны в систему Unveils Atari® Vault, которая будет показана на PAX South 2016.

Для всех игр добавляют несколько новых функций, включая поддержку мультиплеера. Также компания представит ожидаемый многими RollerCoaster Tycoon World™ и Pridefest™ для мобильных. Среди прочих игр в списке будут еще и Missile Command®, Tempest®, Warlords®.
Читать дальше →

[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только

Reading time9 min
Views86K
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Читать дальше →

Бег помогает увеличить количество нейронов в гиппокампе

Reading time1 min
Views15K
Команда учёных из Финляндии доказала, что аэробные упражнения вроде бега позволяют увеличить количество нейронов в гиппокампе – той части мозга, которая отвечает за переход данных из кратковременной памяти в долговременную. Учёные пытались выяснить, что именно в большей степени повлияет на нейрогенез – высоко-интенсивные интервальные тренировки или анаэробные упражнения.

image
Читать дальше →

Как производители светодиодных ламп обманывают покупателей

Reading time3 min
Views137K
Популярность светодиодного освещения растёт. Количество российских производителей светодиодных ламп приближается к сотне. К сожалению, некоторые из них не стесняются обманывать покупателя, за одно дискредитируя других производителей. Ведь покупатель неудачно купив одни лампы, потом побоится покупать другие.

Вот две лампы «Экономка». Судя по картинкам, покупатель должен понять, что они потребляют 5 Вт, а светят, как 60-ваттные лампы накаливания.



Читать дальше →

Эра дискет закончилась в декабре 2015

Reading time2 min
Views52K
image 2500 дискет (3,5") или примерно 3,5 Гб. Норвегия. 2015 год.
Массовое производство дискет прекратилось в 2010 году. Но как оказалось некоторым приходится работать с дискетами почти каждый день.
Викинг Программист Finn Espen Gundersen из солнечной Норвегии рассказал на своем сайте зачем норвежские доктора получают по обычной почте каждый месяц по одной 3,5" дискете от норвежского правительства (Norwegian Directorate of Health). Финн Гундерсен работает в небольшой IT-компании, работающей по контракту министерства здравоохранения Норвегии.
Читать дальше →

Книги по дизайну

Reading time16 min
Views28K
Доброго времени! В этот раз мы здесь опубликуем свои недавно вышедшие книги для творческих людей.

image

1. Скетчи. 50 креативных заданий для дизайнеров. Автор: Уитни Шерман
2. Сожги свое портфолио! То, чему не учат в дизайнерских школах. Автор: Майкл Джанда
3. Я-бренд. Формула успеха. Автор: Марк Эко
Читать дальше →

Термоядерная энергетика: надежда человечества?

Reading time10 min
Views328K
В детстве я любил читать журнал «Наука и Жизнь», в деревне лежала подшивка начиная с 60-х годов. Там часто рассказывали про термоядерный синтез в радостном ключе — вот уже почти, и оно будет! Многие страны, чтобы успеть на раздачу бесплатной энергии строили у себя Токамаки (и настроили их суммарно 300 штук по всему миру).

Годы шли… Сейчас 2013-й год, а человечество до сих пор получает бОльшую часть энергии от сжигания угля, как в 19-м веке. Почему так получилось, что мешает создать термоядерный реактор, и чего нам ждать в будущем — под катом.
Читать дальше →

Подборка: Более 70 источников по машинному обучению для начинающих

Reading time5 min
Views103K


Индикатор кулачкового аналогового компьютера / Wiki

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

Создание Android-приложения. Персонализация

Reading time3 min
Views13K
Хочу поделиться с вами своим небольшим начинанием на арене Android-разработки и немного рассказать о интересных моментах реализации.

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

Получилось следующее:


Читать дальше →

Intel Compute Stick: вторая попытка

Reading time1 min
Views23K


Год назад вышла первая версия микро-компьютера Intel Compute Stick с четырёхъядерным процессором Intel Atom Z3735F (Bay Trail), 2 ГБ оперативной памяти, 32 ГБ внутреннего хранилища, Wi-Fi 802.11n, Windows 8.1.

Тот HDMI-свисток не был лишён недостатков: самое главное, что в нём был всего один USB-разъём. Сейчас компания Intel провела работу над ошибками и выпустила гораздо более продвинутую вторую версию Intel Compute Stick: здесь уже предустановлена Windows 10 Home, есть два разъёма USB, лучший процессор Atom x5-Z8300 (Cherry Trail) и поддержка 802.11ac (антенна 2х2 вместо одиночной). Как отмечают обозреватели, теперь Compute Stick действительно стал классным гаджетом. Стоимость HDMI-свистка — $159.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity