Nano Hash - криптовалюты, майнинг, программирование

Фиксация производительности передачи больших файлов на сервер HTTP+SVN

У меня есть репозиторий SVN за HTTPS-сервером Apache, в котором хранятся маленькие и большие (+ 1 ГБ) файлы. Когда я передаю большой файл, скорость передачи составляет около 10 МБ/с (используя сетевую линию 1 Гбит). Когда я смотрю на загрузку ЦП на сервере, она насыщена: около 85% потребляется apache2 и около 15% - драйвером диска.

Я уже пытался отключить ведение журнала Apache и SSL, но это не помогло улучшить скорость передачи. Это заставляет меня думать, что mod_dav_svn использует большую часть ЦП? Я также пытался увеличить количество доступных ядер на сервере (по умолчанию = 1 ядро), но это загадочным образом замедляет коммиты, в то время как httpd по-прежнему использует 1 ядро. И установка SVNCompressionLevel 0 также не привела к заметному увеличению скорости.

Есть ли способ значительно увеличить скорость передачи за счет распараллеливания или какой-либо другой оптимизации?

Сервер:

  • Дебиан 9.3
  • Апач 2.4.25
  • libapache2-mod-svn 1.9.5
  • Репозиторий svn: конфигурация FSFS по умолчанию (т.е. все закомментировано в fsfs.conf). Жесткий диск может записывать до 30 Мб/сек (аппаратно ограничено) без загрузки процессора (проверено копированием). FS - это NTFS, использующая ntfs-3g с включенным big_writes, который использует около 10-15% ЦП при записи со скоростью 10 МБ/с.

Клиент:

  • свн 1.8.13

ЦП: Intel Core первого поколения с частотой 3,20 ГГц

Очевидно, я был бы очень доволен, если бы мог передавать со скоростью 25-30 МБ/сек.

12.01.2018

Ответы:


1

Есть ли способ значительно увеличить скорость передачи за счет распараллеливания или какой-либо другой оптимизации?

Да, есть. Однако в вопросе отсутствуют необходимые сведения о версии клиента и сервера SVN, конфигурации сервера и репозитория FSFS, а также оборудовании, на котором он работает. Трудно сказать, какие оптимизации помогут в вашем случае. Вы можете обновить свой сервер и клиент до последних версий и отключить сжатие в конфигурации сервера.

К вашему сведению: VisualSVN Server в моих тестах может обеспечить скорость 1 Гбит/с.

12.01.2018
  • о чем я думал... Я обновил вопрос. Короче говоря, в основном с использованием последних вещей. 12.01.2018
  • Я просто смотрел файлы конфигурации VisualSVN по умолчанию (как SVN FSFS, так и Apache), и я не вижу никаких настроек, которые могли бы объяснить такую ​​​​высокую скорость. Мне все это кажется довольно стандартным. В нем даже отключены некоторые оптимизации, такие как директивы SVNCacheXXX. 12.01.2018
  • Только что провел тест с VisualSVN по умолчанию и получил аналогичную производительность, хотя и с последним процессором Intel. Процессор загружен, скорость записи 16 МБ/с. А скорость передачи на кассе еще хуже: 13 МБ/с при загруженном процессоре. Иди разберись... 12.01.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..