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

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

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

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

Попытка разогнать сеть для БД со 100 до 200Гб/c или «failure is always an option»

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

У нас есть прекрасно работающая стандартная конфигурация серверов. RAID1 для системных дисков, 2 карты по два 25Гб/с порта под сеть. Итого 100 Гб/с, которые мы научились выжимать в предыдущей заметке про iScsi (https://habr.com/ru/companies/beeline_tech/articles/821855/) под цели СУБД.

В то же время сетевое оборудование, расположенное между сервером и СХД, может значительно больше, чем 100Гб/c, как и СХД. Поэтому захотелось посмотреть, можно ли выжать на стороне сервера 200Гб/c

! Спойлер: Можно, но вы этого не захотите.

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

Новости

Заглядываем под капот FrozenDictionary: насколько он быстрее Dictionary и почему

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

С релизом .NET 8 в арсенале C# разработчиков появилась новая коллекция – FrozenDictionary. Особенность этого словаря в том, что он неизменяемый, но при этом обеспечивает более быстрое чтение по сравнению с обычным Dictionary. Я неспроста разбил результаты на обложке по типам – используемые во FrozenDictionary алгоритмы сильно зависят от типа ключа, размера словаря или даже, например, количества строковых ключей одинаковой длины. В этой статье подробно разберем, насколько FrozenDictionary быстрее и почему.

Заглянуть под капот
Всего голосов 33: ↑32 и ↓1+39
Комментарии9

Инструменты для оптимизации времени

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

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

Хотим поделиться с вами парочкой таск-трекеров, который помогут облегчить вам жизнь!

Читать далее
Всего голосов 10: ↑1 и ↓9-8
Комментарии1

Camunda 8. Почему не стоит использовать Connectors Bundle

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

Для Camunda Platform есть Connectors Bundle, который быстро помогает формировать взаимодействие между сервисами. Но так ли хорошо это решение? Рассмотрим на примере Rest Connector'a.

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

Истории

Встроенная графика AMD Radeon 890M оказалась мощнее дискретной видеокарты GeForce RTX 3050

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

В последние годы AMD активно развивает направление интегрированной графики. Сейчас компания готовится представить мощнейший видеочип Radeon 890M, который, вероятно, задаст новую планку производительности. Согласно утечкам синтетических тестов, новый iGPU обходит по производительности не только предыдущего лидера в лице Radeon 780M, но и некоторые дискретные видеокарты среднего уровня, такие как GeForce RTX 3050 в мобильном исполнении.

Читать далее
Всего голосов 17: ↑15 и ↓2+18
Комментарии25

Распределённые блокировки с помощью Tarantool 3

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

Распределённая блокировка — очень удобный инструмент в кластере, который помогает обеспечивать эксклюзивный доступ к некоторому общему ресурсу. Цель такой блокировки — обеспечить доступ к ресурсу лишь одному сервису или запросу в данный момент времени. Так предотвращается гонка за данными и их неконсистентность. Распределённая (или кластерная) блокировка называется так потому, что она обеспечивается несколькими узлами, и выход из строя одного из них не повлияет на приложение. В этой статье я расскажу, как реализовать этот инструмент с помощью Tarantool 3.

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

Китайская процессорная архитектура LoongArch продолжает развиваться: вышел 16-ядерный конкурент Intel Xeon

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

Привет, Хабр! На связи Антон Комаров, сегодня расскажу о новостях из мира LoongArch.

Китайцы продолжают развивать национальную отрасль разработки и производства электроники. У них получается не только выпускать обычные чипы, но и создавать современные процессоры на основе собственной архитектуры — LoongArch.

На днях компания Loongson из КНР заявила о выпуске нового процессора 3C6000. По мнению разработчиков, он может конкурировать с чипами Intel Xeon поколения Ice Lake. У 3C6000 16 ядер, но можно объединить четыре процессора и получить сразу 64 вычислительных ядра. Подробности — под катом.

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

Сравнение ARM и x86: от структуры чипов до применения

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

Вы когда-нибудь задумывались, почему ваш смартфон работает на процессоре ARM, а мощный игровой ПК — на x86? Эти две архитектуры играют ключевую роль в современных технологиях, но используются в разных устройствах. ARM-процессоры применяют в смартфонах, планшетах, умных часах, MacBook и даже некоторых серверах благодаря низкой потребляемой мощности. Процессоры на x86 известны своей производительностью и гибкостью, что делает их идеальными для сильных ПК и серверов.

В этой статье мы разберем, чем отличаются эти архитектуры, как они работают и почему ARM стал популярным выбором для мобильных устройств, а x86 сохраняет позиции в мире мощных ПК и серверных решений.
Читать дальше →
Всего голосов 31: ↑20 и ↓11+17
Комментарии65

Математика надёжности. Доклад Яндекса

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

Вадим Мартынов, руководитель команды платформы надёжности в Яндекс Go, в своём докладе рассказал, как влияют те или иные решения на надёжность системы и как это учитывать при разработке.

Читать далее
Всего голосов 70: ↑66 и ↓4+78
Комментарии26

Продолжаем выжимать максимум из PostgreSQL

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

В апреле этого года мы, команда производительности из Postgres Professional, совместно с коллегами из Selectel решили протестировать несколько дистрибутивов PostgreSQL и узнать, как они себя поведут на разных архитектурах. С результатами можно ознакомиться в этой статье, но, как сразу было верно отмечено читателями, там был один важный косяк –  мы не сравнили производительность ванильного PostgreSQL с применением всем известных настроек по улучшению производительности и Postgres Pro Enterprise из коробки as is. Терпеть такое не было решительно никакой возможности, поэтому сегодня будет продолжение истории и ответ на важный для многих вопрос: «А есть ли у нашего форка хоть какое-то преимущество перед бесплатной ваниллой?» Или мы просто накатили общеизвестный конфиг и занимаемся импортозаместительным переклеиванием наклеек?

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

Распределенные вычисления на Elixir: основные варианты реализации

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

Сегодня поговорим с вами о теме распределённых вычислений на Elixir. Мы больше не можем позволить себе писать приложения, которые работают только на одной машине. Пришло время создавать системы, которые могут выдержать любую нагрузку и работать бесперебойно даже в случае выхода из строя отдельных компонентов.

Elixir — это язык программирования, который вырос на основе мощной виртуальной машины BEAM, используемой в Erlang. Это сразу даёт нам ряд фич: хорошую масштабируемость, встроенную поддержку конкурентности и возможность строить распределённые системы.

В этой статье мы рассмотри основные инструменты для реализации распределённых вычислений Elxir.

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

Деградация кода — это результат неправильной организации процессов

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

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

На своей должности руководителя разработки я стал непосредственным свидетелем разницы между командой, которой предоставили мощь и… какой антоним у мощи? Они были не слабыми, а, скорее, немощными.

Силу команды постоянно нужно подстёгивать и стимулировать, сама по себе она не развивается.

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

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

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

Давайте изучим это на примере деградации кода.
Читать дальше →
Всего голосов 29: ↑26 и ↓3+33
Комментарии27

Правильный инструмент для аналитики нагрузочного тестирования

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

В данной статье хочу рассказать про сервис load-testing-hub, главная задача которого это сбор, агррегация, анализ и визуализация данных о нагрузочном тестировании

Расскажу о том, какие проблемы решает сервис, как он помогает оценивать производительность выпускаемых релизов, а также поделюсь примерами его использования

Рассмотрим основные возможности load-testing-hub, такие как создание наглядных графиков и отчетов, сравнение результатов нагрузочных тестов

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

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

19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн

1С РИБ опять тормозит. Как лечить?

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

Назрела тут тема про обмены между базами данных 1С. Даже сузим круг и поговорим об обменах между гомогенными базами данных (базами данных с идентичными конфигурациями).

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

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

Как настроить веб-приложение под высокие нагрузки

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

Привет, меня зовут Александр Ададуров. Я — руководитель проектов ФГБУ «Центр информационно-технического обеспечения». В этой статье я опишу опыт настройки сайта с образовательным контентом под нагрузку в пиках до 15 000 запросов в секунду или до нескольких миллионов пользователей в день. 

Образовательный контент сайта представлял собой иллюстрированные HTML-страницы, видеоуроки и различные интерактивные задания, преимущественно на JavaScript, которые проверяли правильность выполнения заданий запросами к бэкенду. Сайт жил спокойной жизнью и вяло развивался до введения локдаунов в связи с распространением COVID-19. Первые месяцы карантина существенно изменили код приложения, его архитектуру и даже серверную инфраструктуру, на которой оно располагалось. 

Читать далее
Всего голосов 13: ↑12 и ↓1+14
Комментарии8

Эффективные и актуальные методы для быстрого увеличения конверсии вашего лендинга

Время на прочтение8 мин
Количество просмотров926

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

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

По поводу очередного диспута на тему — «где хранить бизнес-логику — в СУБД или backend?»

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

Важное дополнение по итогам анализа комментариев и минусов к публикации.

С моей личной точки зрения - я за то, что бы всё , что не касается СУБД было вынесено из СУБД: бизнес-функции, агрегация, сортировка, ограничения и проверки корректности данных, ссылочная целостность - пусть рассчитывается и обрабатывается на уровне backend. Это позволит загрузить очень интересной работой современное поколение разработчиков , задействовать новые возможности фреймворков и ORM и позволит специалистам DBA сконцентрироваться на своей прямой работе - связанной с сопровождением и оптимизацией производительности СУБД. Если эта мысль не была понятна, прошу прощения. Теперь, наверное точки над i - расставлены.

Если интересно, читайте дальше...
Всего голосов 24: ↑8 и ↓16-7
Комментарии55

Правильная аналитика записей сессий: ключ к повышению конверсии вашего сайта

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

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

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

Rust и иммутабельность

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

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

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

Начнем с синтаксических особенностей.

Читать далее
Всего голосов 15: ↑9 и ↓6+8
Комментарии12

Математика матричных расширений: как происходит умножение матриц на примере T-Head Matrix Extension

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

Привет, Хабр! Я Андрей Соколов, инженер-программист в группе разработки математических библиотек. Месяц назад моя коллега Валерия запустила цикл статей про матричные расширения, ускоряющие операции над матрицами. Вы уже смогли узнать, что они делают и какие существуют, какие из них разрабатываются для открытой архитектуры RISC-V.

В заключительной статье цикла разберем пример использования матричного расширения T-Head под RISC-V для реализации алгоритма матричного умножения. Сначала кратко рассмотрим наивную скалярную реализацию и блочный вариант алгоритма. Затем реализуем аналогичный вариант с использованием матричного расширения — как для квадратных матриц, так и матриц произвольного размера. Второй случай интересен тем, что возникает необходимость обработки так называемых «хвостов» — блоков неправильной конфигурации. В заключение немного расскажу, какие идеи можно использовать для дальнейшей оптимизации матричного умножения, и поделюсь полезными ссылками.

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

Читать далее
Всего голосов 26: ↑26 и ↓0+37
Комментарии7
1
23 ...

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