Все, что написано ниже – субъективный опыт, пропущенный через призму череды жизненных ситуаций. Медленное развитие, как концепция, достаточно спорный предмет для обсуждений, но не лишенный смыслов. Рекомендую его рассмотреть, как инструмент сохранения гибкости и системности. Особенно в контексте исторических событий, через которые продирается человечество последние лет пять.
Высокая производительность *
Методы получения высокой производительности систем
Новости
Ускоряем Go: известные и не очень методы оптимизации и связанные с ними штуки
Привет, Хабр)
В этой статье хотел бы поделиться приёмами, которые позволяют повысить производительность Golang-кода. Некоторые из этих вещей довольно известные и их могут делать за вас линтеры, например go-critic, noctx (эти 2 касаются defer
и отправки запросов без контекста).
Обсудим:
простые правила, которые не стоит забывать
мифы о производительности в духе "А я слышал, что X повышает скорость на Y%"
более интересные штуки, типо замены switch
на map
, проведём пару тестов, поэкспериментируем
Ну и помним, что преждевременная оптимизация — корень всех зол, не стоит сразу пытаться писать скоростной код, это может быть не так просто.
Поехали!
Как мы управляем инфраструктурой на более 1000 серверов при помощи Ansible
Привет, Хабр! Мы системные инженеры X5 Tech — Алексей Кузнецов и Борис Мурашин. У нас за плечами больше 15 лет опыта, в том числе поддержка сервисов Rapida, CyberPlat, TeleTrade, сопровождение стека BigData и внедрение кластеров Hadoop. В этой статье мы расскажем, как выбирали систему управления конфигурациями, какими критериями руководствовались, что в итоге выбрали, с какими проблемами столкнулись и как их решали.
Рассматривать вопрос, зачем вообще нужна система управления конфигурацией, не будем. Потому что считаем, что если у вас больше одного сервера, она уже необходима. Перейдём сразу к тому, почему мы выбрали именно Ansible.
Команда нагрузочного тестирования? Дайте две! Почему иногда подрядчик бонусом к внутренней команде — это хорошая идея
Привет! Меня зовут Юля Шамина, я руководитель IT-проектов в СберМаркете. Хочу поделиться нестандартным по всем меркам кейсом, как мы подготовили наши сервисы к высоким предновогодним нагрузкам за 3 месяца благодаря челленджу внутренней команды нагрузочного тестирования.
Эта статья не про успешный успех, а про то, как и зачем привлекать подрядчика, если вопросом уже занимается внутренняя команда. А ещё про страх неизвестности, мучительную настройку процессов и то, как в конце концов показать высокие результаты в сжатые сроки с минимальным количеством факапов.
Если бы можно было описать этот проект одной цитатой — «Это было смело, чертовски смело!»
А теперь по порядку. Расскажу, как мы пришли к тому, что нам понадобился подрядчик, и что вообще это за проект.
Истории
Эффективное обновление состояний в БД из сервисов потоковой обработки событий
Как хранить сложные сущности в БД? Что нужно сделать, чтобы не перезаписывать весь рекламный баннер для обновления одного лишь заголовка? Рассмотрим как минимум 5 независимых и взаимно совместимых идей для многократного снижения нагрузки на чтение и запись подобных объектов.
Меня зовут Юрий Печатнов, я уже 6 лет работаю в Яндексе и занимаюсь сервисами потоковой обработки. Это большие распределенные системы, читающие сообщения из большой распределенной очереди и создающие полезный выход. Полезным выходом могут быть сообщения в другой распределенной очереди и/или обновление состояний в БД. Поговорим о том, как их эффективно обновлять.
Оптимизация операционных систем
Приходилось ли вам загружать операционную систему с механического жёсткого диска в начале 2 декады XXI века? Вероятно, то ещё удовольствие...
И тем не менее, накопители SSD объёмом от 1 Тб всё ещё весьма недёшевы, менее 1 Тб не всегда удобны для хранения значительного объёма используемых программ, перевод ПО большого объёма на дополнительный HDD не всегда удобен, а гибридные накопители всё ещё имеют только необходимый минимум SSD кэша, не всегда достаточный для скоростного доступа как к файлам ОС, так и к файлам регулярно используемого ПО и часто открываемых документов. А если эти документы совсем не текстовые, а графические или редактируемые видеоролики - их открытие снова упрётся в быстродействие вашего дешёвого и надёжного HDD. И хотя HDD и близко не сравнится по своему быстродействию со своим значительно более дорогим конкурентом SSD, ситуацию всё же можно немного улучшить, а затем регулярно поддерживать в состоянии, далёком от катастрофического. Тем более, что и срок службы HDD всё ещё заметно выше, чем SSD.
Попробуем разобраться, что для этого нужно, на примере трёх разных семейств операционных систем - MacOS, Linux и Windows.
Выгорание, прокрастинация и все остальное
В отличие от роботов, у кожаных энергия появляется не из розетки, а рождается в процессе деятельности. Человеки вкладывают энергию (чаще всего в виде внимания), воплощает ее в виде деятельности и на выходе получают результат. Результат может быть финансовым или любым другим, но его тоже можно измерить энергией. Если энергия в виде результата больше вложенной энергии, то этого человека можно поздравить.
Данный текст отвечает на два вопроса:
Hadoop в Облаке: история миграции сотен петабайт
Миграция с «железа» в облако в большинстве случаев уже не кажется чем-то сложным или удивительным — тенденция на развертывание решений в облаке общая и устоявшаяся. Но если с переносом в облачную среду небольших ИТ-компонентов все просто, то в случае с глобальными системами на сотни петабайт данных все несколько иначе — такие кейсы встречаются редко.
Меня зовут Михаил Марюфич. Я руководитель Data Platform в ОК, отвечаю за инфраструктуру для Big Data и машинного обучения. В этой статье я расскажу о нашем опыте переноса Hadoop с Bare Metal в облако: с чего стартовали, какие варианты рассматривали, как выстроили миграцию и с чем сталкивались в процессе.
Оценка потенциальной производительности информационных систем на задачах OLTP
Все мы сегодня наблюдаем неприятное явление деградации эффективности ПО. Эффективность проседает во всём, от неэффективного пользовательского интерфейса и до того, в чём компьютеры, вроде бы, просто обязаны быть самыми быстрыми, то есть в массовых задачах повседневной обработки информации.
Решение задачи повышения производительности ПО не может быть получено без понимания, а на что мы в принципе можем рассчитывать? Именно такую отправную точку и предлагается рассмотреть в данном тексте.
Далее показаны потенциальные возможности ПО на самых массовых на сегодня задачах, заключающихся во взаимодействии оператора с информационными системами. Англоязычное название этой группы задач - on-line transaction processing (OLTP). К этому классу, в том числе, относится всё взаимодействие с браузером, которые представляют клиентскую часть системы. За кадром, невидимая для операторов, остаётся почти чистая задача параллельной обработки множества запросов.
ТОП-20 тайм-трекеров, которые сделают работу вашей команды продуктивнее
В сфере управления удаленными командами и работниками с почасовой оплатой труда, такими как программисты, бухгалтеры и специалисты службы поддержки, наблюдается рост популярности тайм‑трекеров. Разберемся в достоинствах этих средств и рассмотрим известные сервисы.
Exception Handling: сквозь мультивселенные интероперабельности
В любой программе периодически возникают исключительные ситуации, которые необходимо обрабатывать. В большинстве случаев обработка ошибок не вызывает вопросов, но ситуация становится сложнее, когда среда вашего исполнения представляет собой сэндвич из интерпретируемого и нативно исполняемого кода на разных языках.
Меня зовут Максим Кокряшкин, я занимаюсь поддержкой и расширением функциональности форка LuaJIT, интегрированного в Tarantool. В этой статье мы обсудим, как интероперабельность исключений помогает упростить обработку ошибок на стыках разных языковых рантаймов, а также посмотрим, как можно реализовать интероперабельность стандартными механизмами обработки исключений.
Впихнуть невпихуемое, или Как мы боролись с сервисами, которые слишком много «ели»
Всем привет! Меня зовут Максим, я релиз-инженер Ozon, и в этой статье я расскажу про впихивание невпихуемого, или про оптимальную с точки зрения используемых ресурсов стратегию деплоя в Kubernetes, которая позволила нам сэкономить тысячи ядер CPU и терабайты RAM.
Новые процессоры от Intel, AMD и видеокарты от Nvidia: что еще представили на CES 2024
В начале января 2024 года в Лас-Вегасе прошла выставка Consumer Electronics Show, CES. На ней собрались производители, дистрибьюторы, ритейлеры и потребители со всего мира, чтобы продемонстрировать инновации и достижения электроники, бытовой техники, компьютерных технологий.
Selectel следит за новинками в рамках выставки. Несмотря на то, что CES обычно ассоциируется с потребительской электроникой, мы используем некоторые модели оборудования в наших дата-центрах. А еще ищем идеи для серверных решений в сегменте enterprise. В этой статье — обзор на некоторые интересные новинки. Подробности под катом.
Ближайшие события
Как мы начали использовать виртуальные потоки Java 21 и на раз-два получили дедлок в TPC-C для PostgreSQL
В этом посте мы расскажем о примере дедлока в TPC-C для PostgreSQL, причиной которого является исключительно переход на виртуальные потоки Java 21 - и никаких проблем обедающих философов.
Оптимизируя неоптимизируемое: ускорение компиляции C++
В этой статье речь пойдёт о повышении скорости компиляции библиотеки {fmt} до уровня библиотеки ввода-вывода Cи stdio.
Дня начала немного теории. {fmt} – это популярная открытая библиотека С++, представляющая более эффективную альтернативу С++ библиотеке iostreams и библиотеке Си stdio. Последнюю она обошла по целому ряду аспектов:
- Безопасность типов с проверками форматирующих строк во время компиляции. Эти проверки включены по умолчанию начиная с С++ 20, и присутствуют в качестве дополнения для С++ 14/17. Форматирующие строки среды выполнения в {fmt} также оказываются безопасными, чего невозможно достичь в
printf
. - Расширяемость. Определяемый пользователем тип можно сделать форматируемым. При этом большинство типов стандартных библиотек, например, контейнеры и пакеты для обработки даты и времени, предлагают возможность форматирования изначально.
- Производительность. {fmt} намного быстрее любой распространённой реализации
printf
, порой на несколько порядков (например, в форматировании чисел с плавающей запятой). - Возможность переноса поддержки Unicode.
Тем не менее одной из областей, в которой stdio по-прежнему опережала {fmt}, являлось время компиляции.
Nvidia выпустила три новых видеокарты и заявила о лидерстве в гонке систем AI PC. Что это за адаптеры?
Nvidia представила новые графические адаптеры в рамках стратегии развития AI PC. Три новые модели выпущены в рамках линейки GeForce RTX™ 40 SUPER Series, это GeForce RTX 4080 SUPER, GeForce RTX 4070 Ti SUPER и GeForce RTX 4070 SUPER. В начале января на выставке CES в Лас-Вегасе компания сообщила о том, что новые технологии помогут геймерам, дизайнерам и другим категориям пользователей эффективнее использовать возможности искусственного интеллекта на персональных компьютерах, не прибегая к помощи облачных сервисов. Подробности — под катом.
Это просто праздник какой-то: две линейки процессоров Intel, новые GPU от AMD, платформы и российские серверы
Наша регулярная рубрика обзоров серверного железа продолжает свою работу — теперь в 2024. В этом выпуске рассмотрим устройства, представленные в декабре. Погрузимся в новые платформы, изучим новые диски и системы хранения данных. Уже присматриваете новое железо для своих серверов? Тогда добро пожаловать под кат! Подробности под катом!
Петафлопс на петафлопсе: заработал суперкомпьютер MareNostrum 5 стоимостью в €202 млн. Что это за система?
Пару лет назад Китай анонсировал процессор Zhaoxin KX-6640MA, обычный x86-чип, не ARM и не RISC-V. Тогда же стало появляться большое количество новостей о скором выходе мини-ПК и ноутбуков на его базе. На Хабре сообщалось, что устройства доступны ограниченными партиями.
Сами чипы удалось протестировать лишь сейчас, и надо сказать, что результаты тестов не особо впечатляющие. Судя по GeekBench, производительность чипа из КНР примерно равна производительности процессоров от AMD 2011 года. Подробности — под катом.
Неожиданное взаимодействие предсказания ветвлений и подсистем памяти
Это 15-я статья в серии, посвящённая оптимизации подсистем памяти. Остальные доступны здесь (англ.).
В ней мы изучим взаимодействие механизма предсказания ветвлений с подсистемой памяти. В повествовании мы будем исходить из предположения, что вам знаком принцип предсказания ветвлений и работы подсистем памяти в современных процессорах.
Тесты новейшего процессора Loongson 3A6000
Недавно был представлен 8-ядерный процессор следующего Loongson 3A6000 на базе ядра LA664, а знакомый энтузиаст смог приобрести плату на данном процессоре (модель процессора LS3A6000-HV и чипсет LS7A2000).
Вклад авторов
-
olegbunin 4532.5 -
alizar 2443.3 -
marks 1526.9 -
olegchir 1183.4 -
Kilor 1005.0 -
YuriPanchul 901.5 -
it_man 889.0 -
AloneCoder 810.8 -
alatobol 685.0 -
ARG89 635.6