Как стать автором
Обновить
126.89
Рейтинг

Высокая производительность *

Методы получения высокой производительности систем

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Управляем кластером на Tarantool из командной строки

Блог компании VK Высокая производительность *Администрирование баз данных *Lua *Tarantool *
Tutorial


Два года назад мы уже рассказывали вам, что такое Cartridge и как с его помощью разрабатывать распределенные приложения. Это полноценный фреймворк, в который входит CLI-интерфейс, который сильно упрощает разработку и эксплуатацию приложений на Tarantool Cartridge.

Я расскажу вам, как можно использовать Cartridge CLI для эффективного использования ваших локальных приложений, и об интересных фичах самого CLI. Статья больше ориентирована на тех, кто уже использует Cartridge или хочет начать им пользоваться. Поехали!
Читать дальше →
Всего голосов 32: ↑28 и ↓4 +24
Просмотры 1.6K
Комментарии 10

Новости

Как сменить архитектуру на проекте и начать спать

Высокая производительность *PostgreSQL *IT-инфраструктура *Nginx *DevOps *

Привет всем! Я Руслан Абдуллаев, DevOps-инженер Технократии. Хочу рассказать про наш проект из 2020. В тексте будет немного моей боли, признание ошибок архитектуры, переход к ansible и minio, и финальная форма покемона без единого даунтайма.

Это что за покемон?
Всего голосов 12: ↑3 и ↓9 -6
Просмотры 3.6K
Комментарии 9

Как мы оптимизировали сетевой шейпер Linux в облаке с помощью eBPF

Блог компании Одноклассники Высокая производительность *Системное администрирование *Разработка под Linux *Облачные сервисы

Меня зовут Леонид Талалаев, я занимаюсь разработкой внутреннего облака Одноклассников one-cloud, про которое уже рассказывали на Хабре. 

Одноклассники – высоконагруженная социальная сеть, и оптимизировать под высокие нагрузки нам нужно не только сервисы, но и инфраструктуру, на которой они работают. Нередко «узким горлышком» становится сама операционная система и, в частности, механизмы распределения ресурсов ядра Linux. 

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

Для управления сетевым трафиком до недавнего времени мы использовали решение на основе дисциплины Hierarchical Fair Service Queue из Linux Traffic Control. Сегодня пойдет речь про проблему масштабирования в Linux Traffic Control, известную как root qdisc locking. И про то, как нам удалось ее решить, переделав управление сетевым трафиком с использованием eBPF.

Читать далее
Всего голосов 50: ↑50 и ↓0 +50
Просмотры 7.5K
Комментарии 18

Умные тесты производительности своими руками

Блог компании Конференции Олега Бунина (Онтико) Блог компании Авито Высокая производительность *JavaScript *Программирование *

В прошлой статье я показал, как можно собрать свой Lighthouse. Сегодня пришла очередь применить получившийся трифорс в Performance-тестах, которые мы с командой успешно применяем для оптимизации и ускорения платформ Авито. 

Это не так просто, как хотелось бы. С функциональными тестами всё прозрачно — тест либо проходит успешно, либо фэйлится. А в Perfomance-тесте у вас есть какая-то цифра, и непонятно — хорошая она или плохая. Если бы мы использовали инструмент типа Lighthouse, можно было выставить performance-бюджет, чтобы зафиксировать эту цифру на каком-то уровне. Но для динамической ситуации это не подходит. Расскажу, как это понять и использовать.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 2.3K
Комментарии 3

Как коммуникации помогают в решении инцидентов

Блог компании Конференции Олега Бунина (Онтико) Высокая производительность *Системное администрирование *IT-инфраструктура *IT-стандарты *

Все понимают, что shit happens — и чаще всего не если, а когда. У нас может быть много девяток в SLA, но 100% ни у кого нигде никогда не бывает. Поэтому, когда этот SHIT все-таки HAPPENS, есть два пути. 

Путь первый — проблему можно скрыть, сделав выводы для себя. Под ковер замели — никто ничего не заметил. А тому, кто заметил, сказать: «Да вам показалось, все нормально!» Можно пойти по второму пути: не врать и не бояться. Для этого, конечно, нужна уверенность в себе и своей компетенции. Тогда мы спокойно тушим пожар, а не прикрываем пятую точку (может, даже не свою). 

Я — за второй путь. На конференции HighLoad++ Весна 2021 я рассказал, что можно сделать уже сейчас, чтобы спасение прода прошло максимально безболезненно и почему доверие пользователей — это важно. Видео выступления можно посмотреть здесь, а под катом вы найдете, как заранее подготовиться к инцидентам.

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 3.5K
Комментарии 2

Как собрать свой Lighthouse

Блог компании Конференции Олега Бунина (Онтико) Блог компании Авито Высокая производительность *JavaScript *Программирование *

Чем интенсивнее наш feature delivering, тем быстрее падает производительность. И, конечно, приходит время автоматизировать процесс слежения, чтобы просадка не дошла до прода или даже staging-окружения.

Про прод-мониторинг, оптимизацию и ручной анализ производительности легко узнать на web.dev. Но по автоматизации слежения за производительностью до того, как фичи покатятся в прод, информации не так уж много. Сегодня расскажу, как для профилирования собрать практически свой Lighthouse, чтобы проводить performance-тесты и успешно бороться с просадкой в работе команды фронтендеров.

Читать далее
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 3.2K
Комментарии 3

Приёмы ускорения кода на JS и других языках: подборка от разработчика поиска Яндекса

Блог компании Яндекс Высокая производительность *Разработка веб-сайтов *JavaScript *Программирование *
Привет! Меня зовут Виктор Хомяков, в Яндексе я работаю над скоростью страниц поиска. Однажды мне в голову пришла идея обобщить свой опыт и систематизировать приёмы ускорения работы кода на JavaScript. То, что получилось в итоге, собрано в этом материале.

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


Читать дальше →
Всего голосов 80: ↑80 и ↓0 +80
Просмотры 40K
Комментарии 51

Clickhouse рядом с Zabbix или чем собирать логи с мониторингом

Высокая производительность *Системное администрирование *IT-инфраструктура *DevOps *

Если вы используете Zabbix для мониторинга ваших инфраструктурных объектов, но логи пока не покрыты мониторингом и не собираются в единое хранилище, то эта статья для вас. Расскажем о новом бесплатном анализе логов monq Collector.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 5.6K
Комментарии 8

Fill factor

Высокая производительность *Microsoft SQL Server *
Из песочницы
Перевод

От переводчика

Публикация составлена по материалам BrentOzar.com (Brent Ozar)

5 Things About Fillfactor (Kendra Little)

Существует несколько статей на близкие темы.

Does low fill factor affect SELECT performance? (Tara Kizer)

Does index fill factor affect fragmentation? (Erik Darling)

Good Reasons to Rebuild or Reorganize Indexes (Erik Darling)

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 2.2K
Комментарии 5

Как автоматизировать администрирование Hadoop, чтобы не было мучительно больно

Блог компании МТС Высокая производительность *Big Data *Hadoop *Data Engineering *

Привет, Хабр! Меня зовут Александр Черемухин, я тимлид администраторов Hadoop в Big Data МТС. Мы прошли довольно длинный эволюционный путь в автоматизации администрирования и хотелось бы им поделиться с сообществом. Возможно наш опыт пригодится и другим специалистам, работающим с Hadoop.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 2.2K
Комментарии 9

История одного обновления. Миграция на Zabbix 5.0 LTS с минимальными потерями

Блог компании Timeweb Высокая производительность *Системное администрирование *IT-инфраструктура *
Привет!

Я Олег, системный администратор в команде Timeweb, и в этой статье я расскажу, как мы перешли на актуальную версию Zabbix с минимальным простоем без потери функциональности. Здесь будет описан наш опыт — опыт избавления инфраструктуры от неактуального ПО и последствий хардкода.


Обновить Zabbix или сохранить наработки? Вот в чем вопрос


Так уж сложилось, что сотрудники, ответственные за оперативное реагирование на проблемы, для наблюдения использовали один экран Zabbix с дополнительными самописными виджетами, захардкоженными в Zabbix GUI на PHP. Как, когда и почему это началось, история умалчивает… Часть данных запрашивалась из API Zabbix, часть — из сторонних систем. Всё это отображалось в виде таблицы. Кроме этого, существовала и вручную созданная таблица в базе Zabbix для хранения данных одного из виджетов.

Основной недостаток такого наслоения виджетов — невозможность обновить Zabbix на актуальные версии с сохранением наработок. Поэтому наше первое правило клуба при миграции в новый мониторинг и воспроизведении функционала, — отказ от модификации кода GUI Zabbix.

Читать дальше →
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 3K
Комментарии 0

Энтузиаст протестировал новые китайские процессоры Loongson 3A5000

Блог компании ICL Services Высокая производительность *Процессоры

Loongson 3A5000


Энтузиаст состоит в различных чатах в Telegram и как-то недавно наткнулся на канал по процессорам Loongson и ему удалось провести различные тесты данного процессора.

Читать дальше →
Всего голосов 22: ↑19 и ↓3 +16
Просмотры 10K
Комментарии 33

Как Excel и VBA помогают отправлять тысячи REST API запросов

Высокая производительность *API *Разработка для Office 365 *Интернет вещей Visual Basic for Applications *
Из песочницы

Работая в IoT-сфере и плотно взаимодействуя с одним из основных элементов данной концепции технологий – сетевым сервером, столкнулся вот с какой проблемой (задачей): необходимо отправлять много запросов для работы с умными устройствами на сетевой сервер. На сервере был реализован REST API с оболочкой Swagger UI, где из графической оболочки можно было отправлять только разовые запросы. Анализ сторонних клиентов, типа Postman или Insomnia показал, что простого визуального способа поместить в скрипт массив из необходимого перечня идентификаторов устройств (или любых других элементов сервера), для обращения к ним – не нашлось.

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

Необходимо было:

·      получать информацию по устройствам с различными параметрами фильтрации (GET);

·      применять изменения в конфигурации по устройствам: имя, профиль устройства, сетевые лицензии и пр. (PUT);

·      отправлять данные для конфигурации и взаимодействия с устройствами (POST).

И сегодня я расскажу вам про то, как с помощью Excel, пары формул и самописных функций на VBA можно реализовать алгоритм, отправляющий любое необходимое количество REST-API запросов с использованием авторизации Bearer Token.

Данная статья будет полезная тем, кто воспользуется данным решением под Windows, но еще больше она будет полезна тем людям, которые хотят использовать данное решение на MacOS (с Excel x64). Как вы уже догадались, ниже будут рассмотрены два варианта реализации под разные системы, так как с MacOS есть нюанс.

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Просмотры 5.2K
Комментарии 4

Еще 5 причин выбрать Apache Pulsar вместо Apache Kafka

Высокая производительность *Open source *IT-инфраструктура *Apache *Распределённые системы *
Перевод
Apache Kafka — крайне популярное в настоящий момент решение для обмена сообщениями. Тем более интересно посмотреть какие альтернативы для нее существуют. Особенно декларируемые, как более интересные по ряду параметров.

Под катом — перевод статьи-сравнения Apache Pulsar и Apache Kafka. Статья в некоторой степени рекламная, т.к. написана заинтересованным лицом, но как минимум, возбуждает интерес копнуть глубже. Поехали.

Переведено @middle_java
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 6.9K
Комментарии 9

Зачем и как мы разработали свою серверную материнскую плату

Блог компании Конференции Олега Бунина (Онтико) Высокая производительность *Производство и разработка электроники *Компьютерное железо DIY или Сделай сам

Максим Лапшин — владелец Эрливидео, его компания уже 10 лет разрабатывает серверный софт для доставки и обработки видео. Его использует телевидение, он нужен для работы с камерами. Софт работает с разными вариантами железа, доставка — цифровая. 

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

Так родилась идея создать свою материнскую плату. Идея переросла в большой квест, про который Максим рассказал на HighLoad++ Весна 2021. Все детали прохождения — в сегодняшней статье.

Читать далее
Всего голосов 51: ↑36 и ↓15 +21
Просмотры 7.1K
Комментарии 38

Redis Python based cluster. Часть 2: зачем нужен Dynamo и что делать, когда Redis больше одного

Блог компании Яндекс.Практикум Высокая производительность *Python *Программирование *
Рано или поздно сервисы растут, а с большим RPS приходит Highload.

Что делать, когда ресурсов для вертикального масштабирования Redis уже нет, а данных меньше не становится? Как решить эту задачу без downtime и стоит ли её решать с помощью redis-cluster?

На воркшопе Redis Python based cluster Савва Демиденко и Илья Сильченков пробежались по теории алгоритмов консенсуса и попробовали в реальном времени показать, как можно решить проблему с данными, воспользовавшись sharding’ом, который уже входит в redis-cluster.


Воркшоп растянулся на два часа. Внутри этого поста — сокращённая расшифровка самых важных мыслей.

В предыдущем посте Савва Демиденко и Илья Сильченков обсудили теорию, поговорили, как и для чего используется Redis, выделили особенности распределённых систем, а также теоремы CAP и PACELC. Теперь узнаем, зачем нужен Dynamo, что делать, когда Redis больше одного, а также ответим на вопросы зрителей.
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.2K
Комментарии 0

Искусство отладки FPGA: как сократить срок тестирования за счет грамотной разработки

Высокая производительность *Системное программирование *Отладка *FPGA *Производство и разработка электроники *

Давайте попробуем оптимизировать самый времязатратный этап разработки устройств на базе ПЛИС — отладку прошивки. В этой статье мы расскажем о принципе 20/80 при планировании времени, рассмотрим инструменты для отладки FPGA, вспомним Гордона Мура и Уинстона Черчилля (да-да), затроним отладку сложных распределенных систем и внешних интерфейсов, а в конце — разберемся с типичными ошибками и поделимся полезными практическими советами.

Для начала рассмотрим типовой цикл разработки и моделирования FPGA-прошивки:

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 3.1K
Комментарии 6

OpenVINO Toolkit Tutorial — лучше один раз увидеть

Блог компании Intel Высокая производительность *Обработка изображений *Искусственный интеллект


Open Visual Inference & Neural Network Optimization (OpenVINO) toolkit — это набор библиотек, средств оптимизации и информационных ресурсов для разработки софта, использующего машинное зрение и Deep Learning. Цель OpenVINO — упростить процесс создания систем компьютерного зрения, предоставляя программистам среду разработки и шаблоны, а также оптимизировать код этих продуктов, требующий больших вычислительных затрат, под разнообразные аппаратные платформы Intel.

За последний год мы в блоге опубликовали добрый десяток статей, посвященных OpenVINO, и останавливаться на этом не собираемся, поскольку считаем тему очень важной. Этот пост предназначен для начинающих пользователей OpenVINO; в нем приведены ссылки на экспресс-видеокурс, с помощью которого вы буквально за час-другой познакомитесь с азами OpenVINO и научитесь использовать его для различных нужд.
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 930
Комментарии 2

Как мы запустили стартап и выжили

Блог компании Maxilect Высокая производительность *Медийная реклама Контекстная реклама Развитие стартапа

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

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

Подробности под катом.
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 2.2K
Комментарии 4

Redis Python based cluster. Часть 1: распределённые системы, теоремы CAP и PACELC и зачем нужен Redis

Блог компании Яндекс.Практикум Высокая производительность *Python *Программирование *
Рано или поздно сервисы растут, а с большим RPS приходит Highload.

Что делать, когда ресурсов для вертикального масштабирования Redis уже нет, а данных меньше не становится? Как решить эту задачу без downtime и стоит ли её решать с помощью redis-cluster?

На воркшопе Redis Python based cluster Савва Демиденко и Илья Сильченков пробежались по теории алгоритмов консенсуса и попробовали в реальном времени показать, как можно решить проблему с данными, воспользовавшись sharding’ом, который уже входит в redis-cluster.

Воркшоп растянулся на два часа. Внутри этого поста — сокращённая расшифровка самых важных мыслей.

Введение


Немного о тех, кто провёл воркшоп, и почему вообще его решили провести.

Савва Демиденко

Занимаюсь разработкой в Avito, делаю программу курса «Мидл Python-разработчик» от Яндекс.Практикума. Закончил Бауманку и Технопарк. Разрабатываю на Python и Golang. Люблю решать архитектурные задачи в веб-программировании.

Илья Сильченков

Тимлид в «Сбермаркете» и наставник на курсе «Мидл Python-разработчик». Успел побыть фронтендером и дата-инженером, но остановился на бэкенде. Сейчас пишу на Python и Go.

В рамках нашего курса в «Яндекс.Практикуме» в течение шести месяцев мы делаем онлайн-кинотеатр из множества микросервисов. Сначала пишем маленькую ETL из Elasticsearch и Flask, потом — админку и асинхронное API, авторизацию/аутентификацию и систему уведомлений. В том числе есть маленькая продуктовая задача — пиар в социальных сетях.
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 2.3K
Комментарии 0

Вклад авторов