Стабильные загрузки
Фронтенд режет файлы на чанки, считает хеш в воркере, грузит несколько чанков параллельно и перезаливает только недостающие куски. Цель — стабильная пропускная способность на всей передаче, а не красивый первый рывок с провалом на финализации.
Без буферизации целого файла
Конвейер загрузки и хранения в Cotton построен вокруг маленьких потоковых буферов, переиспользования в стиле ArrayPool и стадий конвейера, которые работают постоянно. Файл на 500 MB и файл намного больше имеют одну форму: больше чанков, а не новая проблема с памятью.
Запас у шифрования
Проверенные базовые замеры на машинах показывают локальные цифры по стадиям, а не одно общее заявление про крипту. Важный вопрос простой: остаётся ли самая медленная стадия пути записи — SHA-256, сжатие Zstd, шифрование AES-GCM или I/O файловой системы — быстрее сетевого канала.
Сжатие на основном пути
Cotton сжимает до шифрования, поэтому экономия места происходит во время приёма данных. Zstd настроен под пропускную способность облачного хранилища, а не под архивный максимум. Дедупликация всё равно работает, потому что контентно-адресуемая идентичность вычисляется до записи байтов зашифрованного блоба.
Железо без магии
Слабый NAS, облачная VM и мощный десктоп упрутся в разные потолки. История производительности Cotton ведётся как растущая таблица базовых замеров устройств: рядом с измеренными MB/s видны сырые потолки 100 MbE, 1 GbE, 2.5 GbE и 10 GbE.
Чтения с произвольным доступом
Скачивание больших файлов, перемотка видео, извлечение превью и ответы HTTP Range читают чанковое зашифрованное хранилище без пересборки всего файла во временный объект.
Работа превью
Превью для изображений, SVG, HEIC, PDF, текста, аудио, видео и 3D-моделей существуют потому, что движок хранения умеет отдавать нужные потоки без ожидания пересборки целого файла.
Операционный след
Форма развёртывания намеренно небольшая: один Docker-образ Cotton плюс Postgres, миграции EF на старте и мастер настройки для выбора хранилища, email, часового пояса и телеметрии.
Пруф по измеренным стадиям
Публичная история производительности привязана к измеренным стадиям и понятным потолкам сети. Cotton сравнивает SHA-256, сжатие Zstd, шифрование AES-GCM, I/O файловой системы и синтетические цифры конвейера вместо того, чтобы делать вид, будто одна цифра по крипте объясняет пропускную способность развёртывания.
- Соответствие сети считается от самой медленной локальной стадии пути записи.
- Строки отсортированы от слабого предела обработки к сильному.
- Таблица показывает значения по стадиям рядом с практическими потолками 100 MbE, 1 GbE, 2.5 GbE и 10 GbE.
Быстрый путь без паники из-за фич
Суть производительности Cotton проста: функции безопасности должны жить на быстром пути. Админ не должен выбирать между шифрованием, превью, возобновляемостью и пропускной способностью для нормальной работы файлового облака.
Замеры — не клятва на крови
Замеры — локальные базовые цифры, а не обещание, что любое развёртывание забьёт линк под потолок. Поведение браузера, накладные расходы HTTP/TLS, база данных, диски, шум VM, типы файлов и одновременные пользователи всё ещё двигают реальный потолок.