Перейти к основному содержимому

2 записи с тегом "Производительность"

Нагрузочное тестирование, бенчмарки, поиск узких мест и оптимизация пропускной способности.

Посмотреть все теги

Каталог оптимизаций logical airgap: что, зачем и в каком порядке ускорять

· 15 мин. чтения
Андрей Ганюшкин
Enterprise Architect | Author & Lead Maintainer of Netgap

Прежде чем собирать MVP, я провёл предварительный анализ: разобрал паттерн logical airgap на компоненты и по каждому из них выписал, что именно можно оптимизировать, каким механизмом и какого эффекта ждать. Получился каталог примерно из сорока приёмов — от write_vectored до kernel bypass, — часть из которых была тут же проверена на маленьких Rust-прототипах.

Тогда это был анализ «вслепую»: цифр ещё не было, приоритеты расставлялись по интуиции. Сейчас цифры есть, и сопоставление предварительного каталога с результатами MVP оказалось поучительнее, чем сам каталог. Спойлер: самые красивые оптимизации из списка не дали бы ничего.

Прежде чем писать код: как MVP доказал жизнеспособность Netgap

· 8 мин. чтения
Андрей Ганюшкин
Enterprise Architect | Author & Lead Maintainer of Netgap

Прежде чем написать первую строчку боевого кода Netgap, я задал себе неудобный вопрос: а взлетит ли вообще эта идея? Можно ли реализовать паттерн logical airgap так, чтобы он не превратился в бутылочное горлышко, о которое разобьётся вся система? Чтобы ответить честно — не на словах, а цифрами — я собрал отдельный исследовательский прототип, NetGap MVP, прогнал его через нагрузочные тесты и вытащил наружу многие узкие места.

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