Обновить
64K+

Серверная оптимизация *

Разгружаем сервер

60,37
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Модуль Nchan веб-сервера nginx. Работа с Websocket, EventSource (Server-Sent Events), Long-Polling

Время на прочтение3 мин
Охват и читатели11K
В это статье будет сделан обзор возможностей модуля Nchan веб-сервера nginx, который заменил deprecated модуль NGiNX_HTTP_Push_Module. Модуль Nchan поддерживает основные технологии отправки сообщений Websocket, EventSource (Server-Sent Events), Long-Polling. Для горизонтального масштабирования используется кластер серверов redis.
Читать дальше →

Производительность Joomla на больших объемах контента

Время на прочтение4 мин
Охват и читатели16K
image

Joomla очень плохо переваривает базу данных даже с несколькими тысячами статей в таблице _content. При нескольких десятках тысяч запросы в базу стандартных модулей типа mod_articles_popular могут зависать на секунды.

Всё дело в ACL (Access Control List) — политике контроля доступа. Проверка законности доступа пользователя к материалам занимает свыше 98% времени выполнения запроса.
Читать дальше →

Как Netflix эвакуируется из региона AWS за семь минут

Время на прочтение5 мин
Охват и читатели26K

Netflix уменьшил время аварийного переключения с 45 до 7 минут без каких-либо затрат



Изображение: Florida Memory. Доработано Opensource.com. CC BY-SA 4.0

Зимой 2012 года Netflix пережил длительный сбой, уйдя в отключку на семь часов из-за проблем с сервисом AWS Elastic Load Balancer в регионе US-East (Netflix работает на AWS — у нас нет собственных дата-центров. Всё ваше взаимодействие с Netflix происходит через AWS, кроме самого потокового видео. Как только вы нажмете Play, начинает загружаться видеопоток из нашей собственной сети CDN). Во время сбоя ни один пакет из региона US-East не доходил до наших серверов.

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

Diarrhea для вашего бэкенда на Node.JS — уменьшаем вес сборки

Время на прочтение5 мин
Охват и читатели3.9K

Наверняка вы часто замечали, сколько всякого мусора лежит внутри node modules. Это тесты, бенчмарки, ридми файлы, лицензии, тайпскрипт, и ещё безумное количество мусора, который можно более-менее безопасно удалить. Что мы собственно и сделаем в этом посте.
Картинку про вес node module я и так упоминал последние несколько публикаций, так что вот вам другая, которая в целом отражает текущую ситуацию. В качестве саундтрека к посту рекомендуется Little Big, “Life in da trash”.


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

Splunk 7.1. Что нового? Новый веб интерфейс, интеграция с Apache Kafka и многое другое…

Время на прочтение4 мин
Охват и читатели4.3K


Несколько дней назад компания Splunk выпустила новый релиз своей платформы Splunk 7.1 в котором, наверно, произошло самое ожидаемое изменение за последние несколько лет — да, полностью изменился графический интерфейс. В этой статье мы расскажем об основных нововведениях и улучшениях платформы. Что еще нового помимо GUI? Смотрите под кат.
Читать дальше →

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

Время на прочтение9 мин
Охват и читатели6.7K

Фото: Jesse Darland с Unsplash

В этой статье речь пойдёт о том, как перенести процесс предварительной обработки изображений с сервера приложений на абсолютно бессерверную архитектуру платформы AWS.

Насколько быстр AMP на самом деле?

Время на прочтение7 мин
Охват и читатели9.8K
Проект Accelerated Mobile Pages (AMP) от Google вызвал определённый переполох по идеологическим причинам, но саму технологию так и не разобрали подробно. Несколько недель назад Ферди Кристант писал про несправедливое преимущество, которое получает контент AMP за счёт предзагрузки. Это заставило меня задуматься: насколько хорошо AMP работает на самом деле? Я видел тесты как у Ферди, когда сравнивались одна или две страницы, но ещё не встречал всесторонних объективных тестов.

Оценить производительность AMP на самом деле не так просто, чем кажется. Нужно рассмотреть по крайней мере четыре контекста:

  1. Насколько хорошо работает AMP в контексте поиска Google?
  2. Насколько хорошо работает библиотека AMP как автономный фреймворк?
  3. Насколько хорошо работает AMP при загрузке из кэша?
  4. Насколько хорошо работает AMP по сравнению с каноническим документом?
Читать дальше →

FFMPEG. Загружаем часть видео с YouTube

Время на прочтение2 мин
Охват и читатели32K

Иногда мы хотим поделиться с друзьями частью какого то видео на YouTube — время концентрации внимания в современной реальности снижено до предела, и если скидывать ссылку на ролик(даже с таймкодом начала) с комментарием «смотреть с 21:51 по 24:55» — велика вероятность, что видео просмотрено не будет.

Кроме того — куски видео могут потребоваться для монтажа своих роликов — и довольно неудобно скачивать ради нескольких секунд весь ролик и искать/вырезать нужную часть в программе для монтажа.

Как загружать часть видео YouTube при помощи ffmpeg — под катом
Читать дальше →

Вдвое мощней за те же деньги! Intel Xeon E5 против E3-серии

Время на прочтение6 мин
Охват и читатели70K
Не так давно мы публиковали статью Сравнение производительности процессоров Intel разных поколений, в которой представлены результаты тестирования 8-ядерных процессоров Intel Xeon E5. С тех пор, по акции, было продано несколько сотен серверов на базе процессоров V1/V2, которые стали достойным аналогом E5-2620V4/2630V3 в таких задачах как: сервер баз данных, терминальный сервер, видеонаблюдение и пр. Но, к сожалению, модельный ряд был ограничен только 2-процессорными платформами, что накладывало дополнительную финансовую нагрузку при использовании 1-процессорных конфигураций. Большое количество запросов побудило нас разработать бюджетную модель 1-процессорного сервера/рабочей станции, которая должна существенно выигрывать по производительности у платформ на базе Xeon E3/Core i7, и при этом конкурировать с ними по цене.
Посмотрим, что у нас получилось

У тебя есть быстрый сайт? А если проверю?

Время на прочтение3 мин
Охват и читатели11K
Поисковые системы намеренно, а пользователи — интуитивно оценивают сайты по времени загрузки, а не только по качеству и релевантности контента. С недавнего времени важен стал также показатель скорости мобильной версии сайта. Но, в отличии от контента, за этими параметрами следить сложнее, особенно если целевая аудитория выходит далеко за пределы родного (для хостинга) города. Эта публикация опишет, как это все же можно сделать, используя сервис мониторинга сайтов ХостТрекер, и рассмотрит одно из возможных решений проблемы.


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

Мониторинг эффективности работы IT-систем с помощью Splunk IT Service Intelligence

Время на прочтение4 мин
Охват и читатели5.3K
Ни для кого не секрет, что бизнес непрерывно стремится к повышению своей конкурентоспособности. Кажется, что проще всего это сделать через инновации, давайте повысим эффективность одного-двух-трех бизнес-процессов с помощью современной, высокотехнологичной системы и будет нам счастье. Эта схема работает до тех пор, пока сложность нашей IT-системы не начинает работать против нас.



Вы знаете, насколько эффективно работают элементы вашей IT- инфраструктуры? Как они влияют друг на друга? Может быть, какой-нибудь элемент ухудшает работу системы в целом? Как понять, что это за элемент?
Читать дальше →

Вопросы для собеседования бэкенд-разработчика

Время на прочтение16 мин
Охват и читатели221K
Этот список появился как личная памятка по темам, которые я обсуждал с коллегами и друзьями и в которых хотел разобраться поглубже…

Я не большой любитель задавать технические вопросы на собеседованиях: по мне так лучше посидеть с кандидатом (или кандидаткой) за клавиатурой над каким-то реальным кодом, реальной проблемой — и целый день заниматься парным программированием, желательно поочерёдно с остальными членами команды. Но я считаю, что некоторые технические вопросы могут быть хорошей отправной точкой для начала увлекательного и приятного разговора и позволят глубже узнать друг друга.

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

СХД NetApp — преемственность поколений, проблемы и способы их решения

Время на прочтение6 мин
Охват и читатели12K

Кому интересна эта статья


К написанию настоящей статьи меня подтолкнул кейс, случившийся c одной уважаемой компанией, которая давно и успешно эксплуатирует решения NetApp для хранения данных. Управление данными средствами NetApp происходит в международном масштабе, в том числе и в России. Российское представительство имеет территориально распределённую офисную структуру и часть локальных ИТ-сервисов вынесена в регионы: локации разбросаны от штаб-квартиры в Москве до северных регионов, где бродят белые медведи, а интернет доступен только по узким спутниковым каналам связи.

Статья будет интересна тем, кто:
Читать дальше →

Ближайшие события

Red Hat поглощает компанию CoreOS

Время на прочтение3 мин
Охват и читатели9K

Компания Red Hat объявила о покупке компании CoreOS, хорошо знакомой многим хабравчанам, и занимающей достойное место на рынке систем контейнерной изоляции и сопутсвующего ПО. Озвученная сумма сделки — 250 млн. долларов.


image


Среди развивавшихся в CoreOS проектов, которые конкурировали с решениями Docker и Red Hat Atomic, можно отметить атомарно обновляемое Linux-окружение CoreOS Container Linux (появившейся на рынке в 2014 под названием CoreOS). Container Linux представил логику наличия в ОС только минимального набора компонентов, необходимых для запуска контейнеров.

Что с проектами?

Как улучшить производительность сайта в 8 раз: наш опыт интеграции сервисов AWS

Время на прочтение3 мин
Охват и читатели5.8K
Аутсорсинговая компания по разработке ПО AgiliWay совместно с компанией-дистрибьютором Softprom by ERC поставили и внедрили сервисы AWS в ROI4CIO и повысили производительность сайта в 8 раз.
Читать дальше →

Как создать свой первый безопасный веб-сервер, готовый к продуктиву

Время на прочтение4 мин
Охват и читатели43K
В этом руководстве мы рассмотрим некоторые из лучших методик создания своего первого безопасного сервера. Мы пошагово разберём весь процесс, и в результате получим сервер, полностью готовый к использованию в продуктиве для вашего приложения. Конечно, это не исчерпывающее руководство. Безопасный сервер — это постоянный поиск новых ресурсов и бесконечные улучшения. Но с этим материалом вы можете начать создавать собственную инфраструктуру.

Для прогона тестов мы будем использовать Amazon EC2, но можно взять и Amazon LightSail, Digital Ocean, Vultr или другой сервис. Все они конфигурируются одинаково, так что выбирайте тот, который вам по душе.


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

Маршрутизация в socks. Еще один способ

Время на прочтение4 мин
Охват и читатели21K
Рассмотрим еще один способ маршрутизации локальной сети через «socks-прокси». В отличии от предыдущего способа с «redsocks», в этом, будет рассмотрена возможность маршрутизации на сетевом уровне (сетевой модели OSI), по средствам пакета «badvpn-tun2socks». Данная статья ориентирована на создание и постоянное использование такого маршрутизатора на базе ОС «Debian stretch».

Советую другой способ с использованием systemd-networkd.

Прежде чем перейти к описанию настройки системы, предоставлю ссылку на исходники badvpn (может кому-то понадобится).

Итак, после скачивания и сборки пакета, предлагаю сразу создать сервис systemd со следующим содержанием:

cat /etc/systemd/system/tun2socks.service 
[Unit]
Description=Start tun2socks

[Service]
ExecStart=/путь/к/badvpn-tun2socks --tundev tun0 --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:1080

[Install]
WantedBy=multi-user.target

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

Key-value для хранения метаданных в СХД. Тестируем выделенные базы данных

Время на прочтение5 мин
Охват и читатели6.5K


В этой статье мы продолжаем рассказывать о том, как можно хранить метаданные в СХД при помощи баз данных key-value.

На этот раз в центре нашего внимания выделенные БД: Aerospike и RocksDB. Описание значимости метаданных в СХД, а также результаты тестирования встроенных БД можно посмотреть тут.
Читать дальше →

Servlet 4.0: Делаем больше быстрее. Server Push

Время на прочтение5 мин
Охват и читатели9K
Всем доброго и постепенно наступающего!

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

Новый крупный релиз API Servlet охватывает протокол HTTP/2 и прогнозирует потребности в ресурсах.

Долгожданное обновление для Java EE 8 включает в себя обновления существующих API: JAX-RS 2.1, Bean Validation 2.0, JavaServer Faces (JSF) 2.3, Contexts and Dependency Injection (CDI) 2.0, JSON with Padding (JSONP) 1.1 и Servlet 4.0, а также два новых API: JSON-Binding (JSON-B) и Java EE Security. Среди этих API, Servlet 4.0 представляет собой достаточно крупное обновление, первое с 2009 года.

Импульс, который вызвал этот большой релиз (а не точечное обновление), — это глобальное развертывание протокола HTTP/2 и множество новых возможностей, которые он приносит. Это обновление для HTTP является первым за почти 20 лет и устраняет многие недостатки HTTP 1.x. Новые возможности многочисленны (мультиплексирование запросов/ответов, сжатие заголовков, приоритизация потоков и push-сервер), но наиболее заметной функцией для пользователей Servlet API является Server Push, о котором я расскажу в этой статье.

Server Push — это не единственное примечательное дополнение к Servlet 4.0. Этот релиз также представляет усовершенствования в виде Servlet Mapping API, который поддерживает распознавание URL-отображений во время выполнения, за счет улучшений получения ссылочных путей. В этой статье обсуждаются эти функции, и как Server Push был интегрирован в API JavaServer Faces 2.3.

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

Key-value для хранения метаданных в СХД. Тестируем встраиваемые базы данных

Время на прочтение8 мин
Охват и читатели7K


7-8 ноября 2017 на конференции Highload++ исследователи лаборатории «Рэйдикс» представили доклад «Метаданные для кластера: гонка key-value-героев».

В этой статье мы представили основной материал доклада, касающийся тестирования баз данных key-value. «Зачем их тестировать производителю СХД?», — спрóсите вы. Задача возникла в связи с проблемой хранения метаданных. Такие «фичи», как дедупликация, тиринг, тонкое выделение ресурсов (thin provisioning), лог-структурированная запись, идут вразрез с механизмом прямой адресации – возникает необходимость хранить большое количество служебной информации.
Читать дальше →