TGViewer
commit -m "better" commit -m "better" @itpgchannel · 3.78K subscribers
Post #4484 1.23K
#lab #home_lab

Выпилил в лабе #minio к херам.

Да, да, вы не ослышались!

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

https://en.wikipedia.org/wiki/Shingled_magnetic_recording

Ну я на это и напоролся.

Починить это с minio нереально, потому что minio завязана на хранение в файловой системе, которая создает довольно большой поток iops на сам hdd.

Я пробовал это полечить с помощью bcache и небольшой партиции SSD для кеша, это помогло, но не радикально, потом я заменил xfs на log structured nilfs https://nilfs.sourceforge.io/en/links.html (потому что такой append only паттерн доступа к данным сильно лучше подходит для SMR), это еще помогло, но тоже не радикально.

В итоге, я запилил свою реализацию #S3, https://github.com/pg83/s3, design doc - https://gist.github.com/pg83/ae85dc0bfde5928ea44a1d6380f18d3f, которая смогла выжать из моих SMR теоретически возможный максимум на запись - она преобразует рандомные записи файлов в append only нагрузку на hdd.

В steady state я переживаю 400 мегабайт в секунду произвольных записей в стор (создание, удаление, любые размеры записей, в любом порядке) на группу из 3 дисков, это практически предел. Бурстами можно сильно больше, конечно, сколько - я не знаю, упираюсь в сеть лабы.

Не могу рекомендовать это решение для широкого использования - оно прямо сильно заточено на мое железо.

Например, я отправил #LLM исследовать все способы записи append потока данных на мои конкретные hdd, и от лучшего к худшему они колебались от 130 до 70 мегабайт в секунду на диск. Конечно я захардкодил самый лучший под мою нагрузку способ.

Кстати, в копилочку моих историй про "насколько щас код стал дешевым", и "скоро не останется generic кода, все будут пилить решения исключительно под себя".

В самом деле, зачем иметь generic базу данных, если написав кастомное решение за 1% стоимости generic решения, можно получить x10 перфа? Сходите по моим ссылкам, мой #S3 - всего 100 килобайт исходников, это даже не процент от кодовой базы minio.

Мораль?

Нет ее!
Wikipedia Shingled magnetic recording hard disk drive technology using overlapping write regions
  • 🔥 34
  • ❤ 8
  • 🤔 5
  • 🥱 4
  • 💯 2
  • 🆒 1
More from @itpgchannel
  1. Sep 26, 2026#LLM - лучший боров чекер, и rust, конечно, больше не нужен, не могу не согласиться.
  2. Sep 26, 2026По соцсетям гуляет контроверсивный ролик с недавнего Rails World, в котором DHH со сцены с…
  3. Sep 26, 2026#lab #home_lab #logovo https://github.com/pg83/logovo С недавник пор в лабе работает серви…
  4. Sep 25, 2026photo post
  5. Sep 24, 2026photo post
  6. Sep 24, 2026https://www.securitylab.ru/news/577840.php "AMD уместила 256 ядер и 1 ГБ кэша в одном проц…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →