CottonПроизводительность
Производительность

Быстро, потому что основной путь и есть оптимизированный путь.

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

Параллельные загрузкиБазовые замеры2.5 GbE и 10 GbEHTTP Range

Стабильные загрузки

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

Без буферизации целого файла

Конвейер загрузки и хранения в 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, типы файлов и одновременные пользователи всё ещё двигают реальный потолок.

Доказательство производительности

Быстрый путь — это и есть обычный путь.

Cotton не гонится за синтетическим числом ценой продуктового пути. Та же модель, которая даёт шифрование, сжатие, превью, шаринг, восстановление и чтение по диапазонам, срабатывает в обычной файловой работе пользователя.

01Chunk
02Worker SHA
03Parallel POST
04Zstd
05AES-GCM
06Range read

Загрузка остаётся инкрементной

Браузер хеширует чанки вне основного пути UI, грузит несколько чанков сразу и перезаливает только потерянные куски.

Преобразования живут на пути

Сжатие Zstd идёт перед потоковым AES-GCM, поэтому экономия хранилища и шифрование происходят во время приёма, а не потом.

Чтение не пересобирает файлы

Чанковые потоки с произвольным доступом отдают скачивание, превью, перемотку видео, ETags и ответы Range без пересборки во временный файл.

У замеров есть рамки

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

Вывод по замерам

Заявления о скорости полезны, только когда назван измеренный путь.

Тексты о производительности Cotton отделяют свидетельства локальной обработки от поведения живого развёртывания. Так маркетинг остаётся острым, но не притворяется, что замер в машинном режиме включает каждый шаг HTTP и базы данных.

  • Базовые замеры машиныSHA-256, Zstd, AES-GCM, ввод-вывод файловой системы и числа синтетического конвейера держатся отдельно.
  • Потолки сети100 MbE, 1 GbE, 2.5 GbE и 10 GbE показаны рядом с результатами, чтобы пределы развёртывания читались сразу.
  • Оговорка про реальный мирЗагрузка из браузера, HTTP, TLS, PostgreSQL, создание манифеста и конкурентность всё ещё важны в живых развёртываниях.
Названный путь

Cotton построен для устойчивого поведения файлового облака: чанковая загрузка, встроенное сжатие, потоковое шифрование, чтение с произвольным доступом и базовые замеры, с которыми подбор железа можно обсуждать без гадания.

Реальность развёртывания

Реальная пропускная способность всё равно зависит от CPU, типа файла, диска, задержки S3, настроек Docker, TLS, работы базы данных и конкурентности клиентов. Cotton показывает путь, а не прячет сложность за одним раздутым числом.

Вопросы

Прямые ответы

Зачем вообще показывать цифры замеров?

Они объясняют, почему шифрование можно держать включённым по умолчанию. Смысл не в том, что каждый сервер повторит ту же цифру; смысл в том, что путь крипты не задуман как узкое место.

Производительность важна только для огромных файлов?

Нет. Та же модель чанков и манифестов помогает обычным папкам, превью, дедупликации, снимкам, поведению возобновления и фоновым проверкам целостности оставаться предсказуемыми.

Почему 1 GbE — базовый сетевой контекст?

Это честный базовый ориентир для многих домашних NAS и развёртываний в небольших офисах. Более быстрые каналы важны, но 1 GbE не притворяется сетью, которой у большинства посетителей нет.