Обновить
64K+

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

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

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

Ускорение instagram.com. Часть 1

Время на прочтение9 мин
Охват и читатели9.7K
В последние годы на instagram.com появилось много нового. Очень много. Например — средства создания историй, фильтры, творческие инструменты, уведомления, прямые сообщения. Однако по мере роста проекта всё это дало один печальный побочный эффект, который заключался в том, что производительность instagram.com начала падать. В течение прошлого года команда разработчиков Instagram прилагала постоянные усилия к тому, чтобы это исправить. Это привело к тому, что общее время загрузки ленты Instagram (feed page) снизилось почти на 50%.



Сегодня мы публикуем перевод первого материала из серии статей, посвящённых рассказу о том, как ускоряли instagram.com.
Читать дальше →

Windows: узнаём, кто где залогинен

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

— Ой, у меня ничего не работает, помогите!
— Не переживайте, сейчас всё исправим. Назовите имя компьютера…
(классика жанра из звонков в техподдержку)

Хорошо, если у вас есть инструмент а-ля BgInfo или ваши пользователи знают про шорткат Windows+Pause/Break и умеют его нажимать. Встречаются даже редкие экземпляры, которые успели выучить имя своей машины. Но часто у звонящего вдобавок к его основной проблеме появляется вторая: узнать имя/IP-адрес компьютера. И нередко на решение этой второй проблемы уходит куда больше времени, чем первой (а надо было всего лишь обои поменять или вернуть пропавший ярлык :).
А ведь намного приятнее услышать что-то вроде:
— Татьяна Сергеевна, не беспокойтесь, уже подключаюсь…

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

Хаки при работе с большим числом мелких файлов

Время на прочтение7 мин
Охват и читатели48K
Идея статьи родилась спонтанно из дискуссии в комментариях к статье «Кое-что об inode».



Дело в том, что внутренней спецификой работы наших сервисов является хранение огромадного числа мелких файлов. На данный момент у нас порядка сотен терабайт таких данных. И мы натолкнулись на некоторые очевидные и не очень грабельки и успешно по ним прошлись.

Поэтому делюсь нашим опытом, может кому и пригодится.
Читать дальше →

Оптимизация запросов базы данных на примере B2B сервиса для строителей

Время на прочтение7 мин
Охват и читатели23K
Как вырасти в 10 раз под количеству запросов к БД не переезжая на более производительный сервер и сохранить работоспособность системы? Я расскажу, как мы боролись с падением производительности нашей базы данных, как оптимизировали SQL запросы, чтобы обслуживать как можно больше пользователей и не повышать расходы на вычислительные ресурсы.
Читать дальше →

Преимущества и недостатки HugePages

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


Перевод статьи подготовлен для студентов курса «Администратор Linux».




Ранее я рассказал о том, как проверить и включить использование Hugepages в Linux.
Эта статья будет полезна, только если у вас действительно есть, где использовать Hugepages. Я встречал множество людей, которые обманываются перспективой того, что Hugepages волшебным образом повысят производительность. Тем не менее hugepaging является сложной темой, и при неправильном использовании он способен понизить производительность.

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

Серверный рендеринг в бессерверной среде

Время на прочтение11 мин
Охват и читатели6.8K
Автор материала, перевод которого мы публикуем, является одним из основателей проекта Webiny — бессерверной CMS, основанной на React, GraphQL и Node.js. Он говорит, что поддержка многоарендной бессерверной облачной платформы — это дело, которому свойственны особенные задачи. Написано уже много статей, в которых идёт речь о стандартных техниках оптимизации веб-проектов. Среди них — серверный рендеринг, использование технологий разработки прогрессивных веб-приложений, разные способы улучшения сборок приложений и многое другое. Эта статья, с одной стороны, похожа на другие, а с другой — от них отличается. Дело в том, что она посвящена оптимизации проектов, работающих в бессерверной среде.


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

Check Point Falcon Acceleration Cards — ускоряем обработку трафика

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


Относительно недавно мы публиковали статью про Check Point Maestro, новую масштабируемую платформу, которая позволяет практически линейно наращивать “мощность” шлюзов Check Point. Однако это не единственная технология увеличения производительности. Еще в 2018 году были анонсированы новые карты акселерации трафика с выделенным сетевым процессором — Falcon Acceleration Cards. Смысл этих устройств простой — взять на себя часть нагрузки по обработке трафика. В этой статье мы рассмотрим:

  • Варианты доступных карт;
  • В какие модели шлюзов они могут быть установлены;
  • Внешний вид и установка;
  • Какую нагрузку могут на себя брать;
  • На сколько они “ускоряют” SSL-инспекцию.

Если вам интересна данная тема — добро пожаловать под кат.
Читать дальше →

Почему DFSR не реплицирует некоторые файлы и как с этим бороться

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

Как многим известно, в свойствах реплицируемых папок можно настроить исключения в виде масок файлов — и тогда служба не будет реплицировать файлы, соответствующие заданным маскам. Но не все знают, что у файлов есть атрибут «временный», и DFSR не обрабатывает такие файлы by design. И если это не учесть, то может случиться так, что содержимое ваших DFSR-папок станет рассинхронизированным, хотя в логах службы всё будет чисто и красиво, и всплыть это может в самый неподходящий момент. Сама проблема и ее решение уже не раз разбирались в интернете, цель же этой статьи — доработать созданное ранее решение, добавив ему гибкости и удобства. Для кого актуально — прошу под кат.
Читать дальше →

RDMA внутри ЦОД в реализации от Huawei

Время на прочтение6 мин
Охват и читатели12K
Под катом о том, какой подход предлагает Huawei при организации удаленного прямого доступа к памяти с использованием технологии AI Fabric и чем он отличается от InfiniBand и «чистого» RDMA на базе Ethernet.


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

Как можно использовать прерываемые виртуальные машины Яндекс.Облака и экономить на решении масштабных задач

Время на прочтение6 мин
Охват и читатели22K
Сегодня мы хотим рассказать о такой полезной функции Яндекс.Облака как прерываемые виртуальные машины. Это специальная опция, которую вы можете выбрать при создании виртуальной машины, чтобы использовать вычислительные ресурсы по сниженной цене. Что же такого особенного в прерываемых виртуальных машинах, почему они стоят дешевле обычных и в каких случаях разумно их применять?


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

Windows, PowerShell и длинные пути

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


Думаю, вам, как и мне, не раз приходилось видеть пути вида \!!! Важное\____Новое____\!!! Не удалять!!!\Приказ №98819-649-Б от 30 февраля 1985г. о назначении Козлова Ивана Александровича временно исполняющим обязанности руководителя направления по сопровождению корпоративных VIP-клиентов и организации деловых встреч в кулуарах.doc.

И зачастую открыть такой документ в Windows сходу не получится. Кто-то практикует workaround в виде мапирования дисков, кто-то использует файловые менеджеры, умеющие работать с длинными путями: Far Manager, Total Commander и им подобные. А еще многие с грустью наблюдали, как созданный ими PS-скрипт, в который было вложено немало труда и который в тестовом окружении работал на ура, в боевой среде беспомощно жаловался на непосильную задачу: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
Как оказалось, 260 символов хватит «не только лишь всем». Если вам интересно выйти за границы дозволенного — прошу под кат.
Читать дальше →

6 небольших советов, чтобы подготовить NodeJS к высоким нагрузкам

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

Сервис с распознаванием лиц «Look-A-Like» обслуживал тысячи пользователей одновременно

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


В рамках работы в MyHeritage мы разработали сервис doppelgänger для Евровидения 2019 года, с помощью которого, загрузив селфи, можно узнать на кого из участников конкурса вы похожи больше всего.


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

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

Топ ошибок со стороны разработки при работе с PostgreSQL

Время на прочтение21 мин
Охват и читатели58K
HighLoad++ существует давно, и про работу с PostgreSQL мы говорим регулярно. Но у разработчиков все равно из месяца в месяц, из года в год возникают одни и те же проблемы. Когда в маленьких компаниях без DBA в штате случаются ошибки в работе с базами данных, в этом нет ничего удивительного. В крупных компаниях тоже нужны БД, и даже при отлаженных процессах все равно случаются ошибки, и базы падают. Неважно, какого размера компания — ошибки все равно бывают, БД периодически обваливаются, рушатся.



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


О спикере: Алексей Лесовский (lesovsky) начинал системным администратором Linux. От задач виртуализации и систем мониторинга постепенно пришел к PostgreSQL. Сейчас PostgreSQL DBA в Data Egret — консалтинговой компании, которая работает с большим количеством разных проектов и видит много примеров повторяющихся проблем. Это ссылка на презентацию доклада на HighLoad++ 2018.
Читать дальше →

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

Как объединить бэки двух ритейлеров на SAP за 12 часов

Время на прочтение4 мин
Охват и читатели5.2K
Эта статья расскажет о масштабном проекте внедрения SAP в нашей компании. После слияния компаний «‎М.Видео»‎ и «‎Эльдорадо»‎ перед техническими отделами была поставлена нетривиальная задача — перевести бизнес-процессы в единый бэкенд, основанный на SAP.

Перед стартом у нас была дублированная IT-инфраструктура двух сетей магазинов, состоящая из 955 розничных точек, 30 000 сотрудников и трёхсот тысяч чеков в день.

Теперь, когда все успешно запущено и работает, мы хотим поделиться историей — как нам удалось сделать этот проект.

В этой публикации (первой из двух, чем черт не шутит, может и трех) мы презентуем вам некоторые данные по проведённым работам, подробнее о которых можно узнать на SAP ME meetup в Москве.



Полгода проектировки, полгода написания кода, полгода оптимизации и тестирования. И 12 часов, чтобы переключить систему, обслуживающую 450 магазинов «Эльдорадо» по всей России, при этом не нарушив работу магазинов «М.Видео». Также мы без малейшего даунтайма переключили сайт «Эльдорадо» с милионным трафиком.

Может звучать нереально, но мы это сделали! Подробности под катом.
Читать дальше →

Upgrade дисковой подсистемы старого сервера с шиной PCIe 1.0 — 2.0

Время на прочтение7 мин
Охват и читатели16K
Почему темой данной статьи выбран апгрейд дисковой подсистемы
Понятно, что в первую очередь нужно, как правило:

  1. Увеличить оперативную память. Это настолько очевидный ход, что я даже не счёл нужным писать об этом в основной статье
  2. Поставить дополнительный процессор(ы) или заменить оба процессора на максимально производительные версии поддерживаемые сокетами сервера.

Для старых серверов, что память, процессоры, как правило, можно найти по бросовым ценам.

В определённый момент перед любым владельцем собственного сервера становится вопрос — upgrade или новый сервер.

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

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

В статье приведён список серверных SSD PCI-E 2.0 x8, которые сильно подешевели сейчас, указаны рейд-контроллеры с поддержкой SSD-кеширования и испытан SATA III SSD на интерфейсе SATA II.
Читать дальше →

Главные преимущества Zextras PowerStore

Время на прочтение5 мин
Охват и читатели1K
Zextras PowerStore является одним из самых востребованных дополнений для Zimbra Collaboration Suite, входящих в состав Zextras Suite. Использование этого расширения, которое позволяет добавить в Zimbra возможность иерархического управления носителями, а также серьезно снизить место на жестких дисках, занимаемое почтовыми ящиками пользователей за счет использования алгоритмов компрессии и дедупликации, в конечном итоге приводит к серьезному снижению стоимости владения всей инфраструктурой Zimbra. А когда Zextras PowerStore используется в условиях SaaS-провайдеров, речь может идти о колоссальной экономии. Но это далеко не все возможности, которые может предложить администратору Zimbra данное расширение. Для того, чтобы узнать, что еще может предложить Zextras PowerStore администратору Zimbra, мы обратились к Luca Arcara, старшему консультанту по решениям в Zextras, который принимает активное участие в разработке Zextras Suite. Он назвал нам четыре ключевых возможности Zextras PowerStore, которые понравятся любому администратору Zimbra.

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

Контейнеры, микросервисы и сервис-меши

Время на прочтение10 мин
Охват и читатели6.8K
В интернете куча статей о сервис-мешах (service mesh), и вот ещё одна. Ура! Но зачем? Затем, что я хочу изложить своё мнение, что лучше бы сервис-меши появились 10 лет назад, до появления контейнерных платформ, таких как Docker и Kubernetes. Я не утверждаю, что моя точка зрения лучше или хуже других, но поскольку сервис-меши — довольно сложные животные, множественность точек зрения поможет лучше их понять.

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

Оптимизация работы почтовых хранилищ в Zimbra Collaboration Suite

Время на прочтение5 мин
Охват и читатели4.7K
В одной из наших предыдущих статей, посвященной планированию инфраструктуры при внедрении на предприятии Zimbra Collabortion Suite, было сказано, что главным ограничением при работе этого решения является скорость ввода-вывода дисковых устройств в почтовых хранилищах. И действительно, в то время, когда несколько сотен работников предприятия одновременно обращаются к одному и тому же почтовому хранилищу, ширины канала для записи и чтения информации с жестких дисков может не хватать для отзывчивой работы сервиса. И если для небольших установок Zimbra это не станет особой проблемой, то в случае с крупными предприятиями и SaaS-провайдерами все это может привести к неотзывчивой работе электронной почты и, как следствие, снижению эффективности сотрудников, а также к нарушению SLA. Именно поэтому при проектировании и эксплуатации масштабных установок Zimbra следует уделить особое внимание вопросу оптимизации работы жестких дисков в почтовом хранилище. Давайте рассмотрим два кейса и попробуем выяснить, какие методы оптимизации нагрузки на дисковые хранилища можно применить в каждом из них.

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

Иногда больше — это меньше. Когда уменьшение нагрузки приводит к увеличению задержки

Время на прочтение6 мин
Охват и читатели4.9K
Как и в большинстве постов, появилась проблема с распределённой службой, назовём эту службу Элвин. На этот раз я не сам обнаружил проблему, мне сообщили ребята с клиентской части.

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

Прежде чем отдать Элвина в тестирование, я провёл много экспериментов с 40 тыс. запросов в секунду (QPS), все показали задержку менее 10 мс. Я готов был заявить, что не согласен с их результатами. Но ещё раз взглянув на письмо, я обратил внимание на что-то новое: я точно не тестировал условия, которые они упомянули, их QPS был намного ниже, чем мой. Я тестировал на 40k QPS, а они только на 1k. Я запустил ещё один эксперимент, на этот раз с более низким QPS, просто чтобы ублажить их.
Читать дальше →

Additional Uplinks в архитектуре системной логики Intel C620

Время на прочтение3 мин
Охват и читатели3.6K
В архитектуре x86-платформ возникли два течения, взаимно дополняющие друг друга. По одной версии, нужно двигаться в сторону интеграции в одном кристалле вычислительных и управляющих ресурсов. Второй подход исповедует распределение обязанностей: процессор оснащается производительной шиной, формирующей периферийную масштабируемую экосистему. Он положен в основу топологии системной логики Intel C620 для высокоуровневых платформ.
Читать дальше →