Как стать автором
Обновить
120.9

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

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

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

Cloudflare открыла код Rust-фреймворка для программируемых сетевых сервисов — Pingora

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



Мы гордимся тем, что открываем исходный код Pingora — фреймворка на Rust, который мы используем для создания сервисов, обеспечивающих значительную часть трафика в Cloudflare. Pingora выпускается под лицензией Apache 2.0.

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

Обзор релиза Apache Ignite 2.16.0

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

Apache Ignite — это высокопроизводительная распределенная база данных с открытым исходным кодом, предназначенная для хранения и распределенной обработки больших объемов данных в кластере узлов. В СберТехе есть команда, которая занимается ее развитием. Мы создали Platform V DataGrid — продукт, основанный на Apache Ignite, с enterprise‑функциональностью.

Я был релиз-менеджером Apache Ignite 2.16.0, вышедшей 25 декабря 2023 года, спустя полгода от предыдущего релиза. Хочу ознакомить с основными разработками этой версии:

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии5

Перенос данных из одного S3 облака в другое

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

Перенос файлов от одного облачного провайдера S3 к другому должен был обойтись нам примерно в 133 000 рублей. Вместо этого, мы заплатили за него около 29 000 рублей. Как можно в 5 раз удешевить этот процесс – рассказываем в статье.

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

Как Сбербанк Онлайн готовится к пиковым нагрузкам

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

Какие проблемы появляются при переходе из монолитной архитектуры к микросервисной? Как с ними справляться в пиковые нагрузки? Ответим на эти вопросы на примере Сбербанк Онлайн.

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

Читать далее
Всего голосов 39: ↑39 и ↓0+39
Комментарии26

Истории

Тонкости работы short-circuit routing в ASP.NET Core 8.0

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

В статье детально и с примерами рассказываю про short-circuit routing — новую фичу Minimal API в ASP.NET Core 8.0. Она позволяет игнорировать добавленные middleware при вызове отдельных endpoint-ов. Рассмотрим, как это работает, сравним методы и немного поговорим про то, как добавляются middleware в приложение на ASP.NET Core.

Не читайте эту статью, если вам нужно просто прикрутить short-circuit routing и не париться, как оно работает, — для этого достаточно документации и обзора от Andrew Lock. У меня же после них осталось больше вопросов, чем ответов, потому я залез по самые локти в код и разобрался. Если вам тоже интересно — добро пожаловать под кат.

Хочу разобраться
Всего голосов 14: ↑14 и ↓0+14
Комментарии9

Тонкости работы short-circuit routing в ASP.NET Core 8.0

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

В статье детально и с примерами рассказываю про short-circuit routing — новую фичу Minimal API в ASP.NET Core 8.0. Она позволяет игнорировать добавленные middleware при вызове отдельных endpoint-ов. Рассмотрим, как это работает, сравним методы и немного поговорим про то, как добавляются middleware в приложение на ASP.NET Core.

Не читайте эту статью, если вам нужно просто прикрутить short-circuit routing и не париться, как оно работает, — для этого достаточно документации и обзора от Andrew Lock. У меня же после них осталось больше вопросов, чем ответов, потому я залез по самые локти в код и разобрался. Если вам тоже интересно — добро пожаловать под кат.

Хочу разобраться
Всего голосов 14: ↑14 и ↓0+14
Комментарии9

Итак, вы думаете, что знаете Git? Часть третья: реально большие репозитории

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


Автор оригинала Скотт Чакон — сооснователь GitHub и основатель нового клиента GitButler. Этот клиент ставит во главу угла рабочий процесс и удобство разработки, в том числе код-ревью, и не является просто очередной обёрткой над CLI git.

Вам хочется использовать ванильный Git, чтобы управлять репозиторием с объёмом 300 ГБ в 3,5 млн файлов, которые без проблем получают пуш каждые 20 секунд от 4000 разработчиков? Тогда читайте дальше!


Вот агенда блога — наша блогенда:


Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии30

UUIDv7

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

Седьмая версия UUID (Universally Unique Identifier Version 7, UUID Version 7, UUIDv7) является модифицированной и стандартизованной версией ULID. Проект стандарта (далее стандарт) находится в ожидании окончательной проверки редактором. Но уже имеется большое количество реализаций UUIDv7, применяемых в действующих информационных системах. В интернете доступно большое количество информации по ключевому слову UUIDv7.

Читать далее
Всего голосов 19: ↑16 и ↓3+13
Комментарии28

Как связать натуральные ключи с суррогатным в Anchor Modeling

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

Хранить значения натуральных ключей необходимо, потому что они связывают хранимые данные с реальным миром (внешними классификаторами, реестрами и т.п.), и с ними работают бизнес-пользователи: в выпадающих списках, отчетах и дашбордах. Но в методологии Anchor Modeling для связи таблиц используются только суррогатные ключи, не подверженные изменениям, и это правильно. Поэтому нужно хранить связь натуральных ключей с суррогатным ключом, предпочтительно формата UUIDv7. Как же это сделать в методологии Anchor Modeling?

Получить ответ
Всего голосов 8: ↑4 и ↓40
Комментарии0

Как мы увеличили скорость обработки сервисных сообщений в 10 раз и еще 3 кейса про масштабирование проектов

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

Сформировать 400 000 документов за рабочий день, одновременно загрузить информацию о тысячах доменов, в 10 раз увеличить скорость обработки данных сайта, обеспечить стабильность интернет-магазина при росте посещаемости — решать такие задачи помогает горизонтальное и вертикальное масштабирование. Разбираем на примере наших проектов и кейса клиента, как повысить производительность веб-проекта. 

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии4

Во что обойдется линеаризуемость в распределенной системе

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


Всем привет, меня зовут Сергей Петренко, я программист в Tarantool. Сегодня мы посмотрим, с какими трудностями сталкивается клиент, когда вместо того чтобы общаться с системой, расположенной на одном инстансе, начинает общаться с распределенной системой. И разумеется, поговорим о том, как эти трудности преодолеть. Я расскажу, что такое линеаризуемость, как мы ее реализуем в Tarantool и как это делают другие СУБД. В завершение мы поговорим о накладных расходах от линеаризуемости.
Читать дальше →
Всего голосов 61: ↑60 и ↓1+59
Комментарии3

Работа процессора (физический препроцессор) без счётчика команд

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

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

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

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

Читать далее
Всего голосов 10: ↑3 и ↓7-4
Комментарии18

Китайские процессоры становятся все лучше: серверный чип 3C6000 от Loongson соревнуется с AMD Epyc на базе Zen 3

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

Поднебесная продолжает развивать собственную отрасль разработки и производства электроники. Неплохо себя чувствуют многие компании из Китая, но сейчас речь пойдет о Loongson, которая разрабатывает процессоры на основе собственной архитектуры LoongArch. Сейчас представлен серверный 3C6000, который «отстает» от конкурентов всего на три года. Подробности — под катом.
Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии51

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

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн

Китайские процессоры становятся все лучше: серверный чип 3C6000 от Loongson соревнуется с AMD Epyc на базе Zen 3

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

Поднебесная продолжает развивать собственную отрасль разработки и производства электроники. Неплохо себя чувствуют многие компании из Китая, но сейчас речь пойдет о Loongson, которая разрабатывает процессоры на основе собственной архитектуры LoongArch. Сейчас представлен серверный 3C6000, который «отстает» от конкурентов всего на три года. Подробности — под катом.
Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии51

Актуальна ли еще GTX 1080? Изучаем бенчмарки

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

Видеокарты GTX 1080 появились на рынке в 2016 году, но за семь лет не утратили своей актуальности. Наоборот — закрепили за собой статус надежной железки, как и все десятое поколение GPU.

Тогда даже никто не мог поверить, что появится GPU с TDP 180 Вт. Низкое энергопотребление закалило видеокарту, поэтому на ней не видны даже шрамы от майнинга. Но насколько GTX 1080 отвечает современным запросам в профессиональных задачах? Удалось ли ей сохранить актуальность в машинном обучении? Кратко разбираемся в статье.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии20

Десктопные процессоры Intel и AMD, серверные ARM-платформы и диски: что показали производители в январе

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

Вендоры в январе почти не отдыхали и готовили новинки. Среди них — 24-ядерные процессоры Intel, серверы для работы с большими языковыми моделями, СХД на 3,36 ПБ и другие устройства. Самое время продолжить нашу традиционную рубрику по обзору серверного железа и познакомиться с новинками поближе. Подробности под катом!
Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Комментарии4

Книга «Software Dynamics: оптимизация производительности программного обеспечения»

Время на прочтение11 мин
Количество просмотров2.6K
image Привет, Хаброжители!

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

За плечами автора несколько десятков лет практической работы и обучения профессиональных разработчиков. Он знакомит читателя с принципами и техниками, которые применимы в любой среде, начиная со встраиваемых устройств и заканчивая дата-центрами, и подкрепляет их примерами на основе подключенных по Ethernet систем x86 и ARM под управлением Linux. Опираясь на полученную с помощью KUtrace информацию, читатели смогут использовать конкретные решения, а не просто перебирать техники, такие как отключение кэша или ядер.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии1

Шардирование: с нуля до Яндекс Диска

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

Меня зовут Андрей Колнооченко. Я отвечаю за ядро файловой системы Яндекс Диска. Когда мы запускали сервис, то сразу ориентировались на рост и приняли решение шардировать базу метаданных о файлах. Но за 11 лет Яндекс Диск настолько вырос, что нам пришлось трижды менять подход к шардированию. В статье расскажу, с какими проблемами мы сталкивались по мере роста сервиса и как от MongoDB пришли в итоге к PostgreSQL.

Эта статья будет полезна, если вы планируете распределить нагрузку на вашу БД или вам просто интересен опыт развития БД для обработки большого числа запросов.

Читать далее
Всего голосов 30: ↑30 и ↓0+30
Комментарии7

Как мы уложили компьютерный мультик в 8 кБ

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

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

В апреле 2023 года, спустя несколько месяцев работы, мы, наконец, выкатили ленту Барашек и цветок. Можете сами скачать его или проследить на YouTube ход выполнения программы.

Нас многие спрашивали, как нам удалось создать нечто подобное. В статье будут объяснены технические детали и те ограничения, которые пришлось учитывать при проектировании перед выводом этого проекта в продакшен. Кроме того, мы выложили весь исходный код на GitHub.

Читать далее
Всего голосов 92: ↑90 и ↓2+88
Комментарии32

Валидация входных данных в фильтрах Minimal API .NET, просто и без затей

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

В последние год-два снова набирает силу тенденция обращать самое пристальное внимание на производительность разрабатываемых приложений. Тема на самом деле непростая, поскольку производительность не на пустом месте появляется и требует значительных временных ресурсов и квалификации специалистов. В данной статье обсуждается эффективный способ валидации данных для .NET. Если C# входит в круг ваших интересов, если ваши коллеги обсуждают за кофе Minimal API, эта статья определённо для вас.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии26
Изменить настройки темы

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