Этот сайт — моя персональная записная книжка. Интересны мне, по большей части, программирование, история и события из моей жизни.

«Тайм-капсула»: что получилось

После вчерашних манипуляций «Тайм-капсула» завелась и «Макбук» жены её увидел, но к ночи скорость бакапа сильно упала — через несколько часов расчётное время стало уже больше суток.

Меня это не особо устроило, я подумал, что наверняка есть способ ускориться — например, серверную часть для поддержки протокола SMB мы собирали довольно древним компилятором — gcc седьмой версии, если мне не изменяет память. Я подумал, что более свежий компилятор может помочь — в них всё время добавляют какие-то оптимизации.

Поскольку платформа уже довольно старая, самый свежий компилятор мы брать не стали, взяли двенадцатую версию. По уверению нейросети «ГПТ-5.6 Сол», это последняя официальная версия для NetBSD, на которой собирается софт для «Тайм-капсулы».

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

По итогу наибольшее ускорение дал не компилятор, а настройка сети, но кроме мы этого сделал ещё несколько вещей.

Во-первых, по умолчанию в «капсуле» очень маленькие сетевые буферы — около 32 КБ, мы их увеличили до мегабайта. Во-вторых, мы отключили проблемный для старого NetBSD mmap. В-третьих, исправили проблему совместимости при удалении служебных атрибутов.

В итоге скорость выросла с 7—8 мегабит до 12—14.

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