Улучшения производительности S3fs или альтернатива?


11

Я пытался использовать s3fs на сервере EC2, но это очень медленно. Последние 5 часов я потратил на загрузку 100 МБ небольших файлов.

Что я могу сделать, чтобы улучшить производительность, или это связано с S3fs? Если нет, то какую альтернативу я мог бы использовать?


определить небольшие файлы, 1K? 500bytes? 1 МБ?
худой

около ~ 200К ...
МБ.

В зависимости от ваших потребностей в хранении, вы можете просто использовать EBS, если только вам не нужен доступ из других систем одновременно, и в этом случае настройка виртуального nas с EBS все еще может быть лучшим вариантом.
Tracker1

Ответы:


7

S3FS может быть не лучшим выбором для большого количества файлов меньшего размера. Накладные расходы с S3FS также довольно высоки. Я бы предложил использовать что-то вроде S3Curl

Вы можете даже получить параллельные передачи. Просто помните, что это никогда не будет быстрым, как EBS / локальное хранилище.

Если вам нужно, чтобы он был «монтируемым» хранилищем, единственные известные мне альтернативы S3FS - это S3Backer или s3ql.


1
Я ищу что-то, что я могу смонтировать как файловую систему.
МБ.

Есть мысли s3ql?
Ewwhite

Я попробую S3Backer и S3Sql. Спасибо.
МБ.

5 часов - это очень медленно для ~ 500, 200 КБ файлов, даже с S3FS. Что-то еще может быть связано с этим, я не знаю ни одной настраиваемой S3FS, которая бы помогла
тонко

6

Я просто протестировал riofs по сравнению с s3fs. Мой тестовый пример был относительно простым bash-скриптом, который запускал pngquant для каждого найденного файла .png. На тестовом пакете с ~ 70 изображениями, из которых ~ 20, где png (распространяется на множество подкаталогов, что, вероятно, замедляет работу), результаты где:

s3fs: 3m54
riofs: 15.9s

Так что для этого теста riofs в ~ 15 раз быстрее! Настройка также была очень простой, хотя документы несколько краткие.

Что касается того факта, что сценарий все еще занимал 15.9 с: он не очень эффективен, также на самом деле запуск pngquant на png - это процесс, интенсивно использующий процессор.


К сожалению riofs не удается сAWS message: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.
lrkwz


2

Я только что выпустил v0.0.1 из https://github.com/kahing/goofys, который был частично мотивирован проблемами с производительностью в s3fs. Ускорение создания файла составляет 3-6x, а время до первого байта - 58x. Обратная связь приветствуется!


2
Начиная с 2019 года, рекомендуется использовать Goofys. Riotfs давно не обновлялся.
timofey.com

1

Я использовал [1], и это очень хорошо. Это много команд и делает доступ к aws и s3 намного проще.

  1. http://timkay.com/aws/

1
Добро пожаловать в сбой сервера! Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить сюда основные части ответа и предоставить ссылку для справки.
Скотт Пак

1

Я сравнил s3fs с riofs и почти переключился из-за заметно лучшей производительности. Проблема в том, что riofs до сих пор не обновлен до сигнатур v4, что означает, что он не будет работать с корзинами s3 во Франкфурте или Китае. По словам владельца, обновление уже в пути. Если вы не используете Франкфурт или Китай, riofs - лучший вариант.


Также не работает с eu-central-1
lrkwz

1

Это доброе старое, но может помочь, кто здесь.

Я использую AWS Cli и работает очень хорошо (3 Мбит / с)

pip install awscli --upgrade --user
nano ~/.bash_profile
export PATH="~/.local/bin:$PATH"
aws s3 sync /sourcedir/ s3://bucketname/destdir/
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.