Как стать автором
Поиск
Написать публикацию
Обновить
122.48

Высоконагруженные системы *

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

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

Обзор UDTF в PySpark

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров268

Привет, Хабр!

Сегодня разберём фичу из PySpark — UDTF. Если раньше мы писали UDF и UDAF, то UDTF — это про функцию, которая запускается в секции FROM запроса и возвращает как бы несколько стро» для каждой входной записи Звучит круто.

UDTFs пригодятся, когда на один входной объект нужно получить множество выходных строк. Простой пример: у нас есть строка текста и мы хотим разделить её на слова так, чтобы каждое слово вышло отдельной строкой. Со стандартным UDF такое не сделать (он возвращает одно значение, например конкатенацию или длину). Но UDTF может делать цикл yield внутри и выдавать сколько угодно строк. Итак, приступим к делу.

Читать далее

Новости

YDB в мире Java: от нативного клиента до ORM’ов за 1 год

Время на прочтение6 мин
Количество просмотров1.5K

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

Меня зовут Кирилл Курдюков, в 2024 году я выступил в Питере на Joker — конференции для Java-разработчиков — с историей о том, как мы с командой делаем СУБД Яндекса удобной для джавистов.

Под катом статья, написанная по мотивам доклада. Это история о том, как маленькими шагами пройти путь от нативного клиента на Java до поддержки Hibernate, Liquibase, jOOQ и других популярных в мире Java-разработки решений.

Читать далее

Безопасность API (аутентификация и авторизация): проблемы, решения, практические рекомендации

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров4.4K

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

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

Читать далее

Эльбрус-2 в сравнении с основными суперкомпьютерами 1960–1980-х годов

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.2K

Многопроцессорный вычислительный комплекс (МВК) «Эльбрус-2», созданный в СССР в 1984–1985 годах, является выдающимся достижением советской вычислительной техники и заслуживает высокой оценки по ряду ключевых параметров — числу процессоров, архитектуре и производительности, существенно опережающим многие зарубежные аналоги своего времени.

Читать далее

Универсальный сервис по сбору телеметрии с CAN-шин на технике

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров3.6K

Всем привет! Меня зовут Артём Сидоров. Я ведущий разработчик из ИТ-команды «Северстали». Сегодня хочу рассказать, как мы реализовали «Универсальный сервис по сбору телеметрии с CAN-шин на технике».

Читать далее

Как приручить LLM: подбор инфраструктуры для инференса. Часть 1

Время на прочтение10 мин
Количество просмотров5.5K

Привет, Хабр! Меня зовут Антон, и сейчас я активно занимаюсь вопросами инфраструктуры для ML и AI. Когда клиент приходит с запросом в духе «Разверните мне Qwen», невольно задаешься вопросом: «А какая инфраструктура нужна для такой задачи?» Но если запрос становится более конкретным, например, «Разверните Qwen так, чтобы держать 10 RPS с задержкой до пяти секунд», то можно и вовсе растеряться. Как подобрать конфигурацию под такие требования?

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

А еще в последнее время мне нравится тематика викингов и драконов (особенно та часть, которая связана с медовухой). Вместе мы напишем книгу по приручению самых разнообразных драконов или, как в простонародье, open source LLM. В ней рассмотрим разные типы драконов, какие «GPU-седла» подходят под каждого и какие инструменты использовать для приручения. Садитесь поудобнее, заваривайте что-нибудь крепкое и айда в уникальное путешествие на дракаре в волшебную долину драконов!

Читать далее

Записки оптимизатора 1С (ч.13). Что не так в журнале регистрации 1С в формате SQLite?

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.8K

Хочу вернуться к старой проблеме с хранением журнала регистрации 1С в формате SQLite. История стара как мир, но мы нет-нет, а продолжаем с ней сталкиваться, поскольку очень часто большие информационные системы работают далеко не на самых свежих версиях платформы 1С, а администраторы системы не уследили за форматом хранения журнала регистрации (ЖР).

Наглядно посмотрим к чему может приводить ЖР в формате SQLite в многопользовательской нагруженной системе, а также выясним как администраторам и разработчикам понять, что проблема просадки производительности связана с чтением ЖР.

Читать далее

Как и зачем мы в YADRO сделали свою MLOps-платформу

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров3.9K

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

Привет, Хабр! Меня зовут Вадим Извеков, я руководитель группы сопровождения платформы машинного обучения в YADRO. Сегодня расскажу, почему мы решили создать свою MLOps-платформу, как она устроена и для чего используется. 

Читать далее

Запускаем Kafka в режиме KRaft на Windows через WSL

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров994

Пошаговое руководство по установке и настройке кластера Apache Kafka с тремя брокерами в режиме KRaft (без ZooKeeper) на Windows — без виртуальных машин и Confluent Cloud.

Чтобы сделать кластер удобнее в использовании и приблизить его функциональность к облачным решениям, мы добавим веб-интерфейс на основе Kafka UI.

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

Для кого эта статья?

Для тех, кто только начинает работать с Kafka и хочет разобраться в её устройстве на практике.

Для тех, кто работает на Windows, но не хочет ставить виртуальную машину.

Для тех, кто хочет понять внутреннее устройство Kafka, а не просто запустить «чёрный ящик».

Читать далее

Развёртывание боевого кластера Cassandra. Часть 3

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров1.9K

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

1. Анализ рабочей нагрузки и требований
2.Разработка схемы данных
3. Настройка хостовых машин
4. Настройка конфигурации Cassandra
= ВЫ НАХОДИТЕСЬ ЗДЕСЬ =
5. Настройка топологии кластера
6. Подключение Prometheus Cassandra Exporter
7. Подключение Prometheus Node Exporter
8. Вывод всех метрик в Grafana
9. Проведение нагрузочного тестирования
10. Дополнительный тюнинг по результатам теста

Двинемся дальше?

Читать далее

Артефакты архитектуры: какие, зачем и как их организовать

Время на прочтение16 мин
Количество просмотров2.7K

Представьте город без карты. Дома построены, улицы проложены, люди живут своей жизнью — но никто не знает, как всё это связано между собой. Каждый архитектор чертит по-своему: у одного — квадраты, у другого — кружки, а у третьего — загадочные стрелки, ведущие в никуда. Когда решения принимаются «на глаз», последствия не заставят себя ждать. В результате, ценные находки теряются в ворохе несогласованных схем. Именно так выглядит ИТ-ландшафт без продуманной системы архитектурных артефактов. Сегодня я расскажу, как мы в МТС наводим в этом хаосе порядок, почему выбрали путь EAoaP — и что сделали, чтобы эта красивая теория прижилась в реальной, живой экосистеме из сотен продуктов.

Привет, Хабр! Меня зовут Наиль Миннахметов и я — корпоративный архитектор в МТС. В прошлом –– разработчик, аналитик и консультант в телекоме, финтехе, eCom, ритейле, логистике, фарме и FMCG. Занимался много чем, но всегда это было связано с IT. Я помогал разным бизнесам расти, становиться надёжнее или зарабатывать больше.

Читать далее

Масштабирование под нагрузкой: горизонтальные и вертикальные подходы

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров895

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

Читать далее

Работа над ошибками

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров927

Достаточно большой период времени занимался технической поддержкой СУБД Oracle. Накопилось некоторое количество историй и заметок на полях по этому поводу, не могу не поделиться ими с вами. В общем — садимся по удобнее, берем попкорн, чашку горячего чая или кофе.. Дело было так.

Читать далее

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

Магия binapi для VPP или новые возможности по использованию SR Policy

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров547

Привет! Меня зовут Борис Хасанов, я сетевой архитектор в MWS Cloud Platform. В этой статье рассмотрим структуру сущности, называемой binapi, возможности программирования VPP с её помощью. Покажем, как можно использовать binapi для конкретных случаев, таких как реализация программного оверлея в ЦОД и расширенного Traffic Engineering при помощи VPP. Также поделимся результатами наших тестов по программированию SR Policy через VPP.

Читать далее

Как YDB изолирует OLTP и OLAP

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.9K

Привет, Хабр! Меня зовут Олег Доронин, и мы с командой делаем СУБД Яндекса, которая называется YDB. Каждый транзакционный запрос к базе данных обычно работает с небольшим набором строк и быстро отрабатывает за единицы или десятки миллисекунд, но таких запросов каждую секунду поступает огромное количество. А вот аналитические запросы обычно выполняются не так часто, но каждый из них может требовать обработки вплоть до всех строк в одной или нескольких таблицах. Такие запросы могут выполняться секунды, минуты, или даже часы в зависимости от объёмов данных и сложности запрошенных вычислений.

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

Читать далее

С монолита на микросервисы: проблемы, решения, практические рекомендации

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров6.1K

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

Микросервисы обещают решение. Гибкость. Масштабируемость. Независимые команды. Быстрые релизы. Звучит идеально. Но дорога к этой цели усеяна ловушками. Я видел проекты, которые провалились, потратив миллионы. Они просто поменяли один большой клубок проблем на десятки маленьких.

Читать далее

Пишем потоковый коррелятор событий безопасности на Golang

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3K

Разбираемся в принципе работы Logreact — самописного коррелятора событий безопасности на языке Golang

Читать далее

Умный дом под давлением

Время на прочтение16 мин
Количество просмотров8.9K

Хотите знать, как работает платформа умного дома, обслуживающая десятки и сотни тысяч (а то миллионы!) устройств? А как проводят нагрузочное тестирование таких платформ, когда нужно проверить их поведение при увеличении количества приборов? Ведь это сложно — железок не напасешься! Если я вас заинтриговал, то добро пожаловать в статью, я как раз рассказываю о том, как это все делается. :)

Меня зовут Иван Банников, я работаю в VK Tech. Я ведущий разработчик команды Tarantool CDC, одного из продуктов экосистемы Tarantool, но в статье я расскажу про давние времена, про проект, на котором я познакомился с Tarantool, зафанател от него и в итоге пришел потом работать в Tarantool. Поговорим о платформе для интернета вещей, о ее устройстве, о том, какие в ней могут быть слабые места и как мы их выявляли с помощью нагрузочного тестирования, а также о MQTT.

Читать далее

Сидинг тестовых данных: как готовить окружение перед нагрузочным тестированием

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров376

Почему ваши нагрузочные тесты врут? Часто проблема не в коде и не в стенде, а в данных. Разбираемся, как правильно готовить окружение перед тестами и почему сидинг через API надёжнее прямых вставок в БД.

Читать далее

Балансировка нагрузки для HTTP(S) в Angie

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.9K

Балансировка нагрузки в веб‑сервисах решает сразу две задачи: масштабирование и отказоустойчивость. В этой статье поговорим о возможностях балансировки нагрузки для HTTP(S) протокола в Angie.

Теоретическая основа, описание алгоритмов уже описана разработчиком Angie, поэтому рекомендую обращаться к статьям с обзором балансировки и алгоритмам балансировки в Angie. Здесь же разберём практическую сторону настройки балансировки.

Читать далее
1
23 ...

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