Poprawa wydajności S3fs czy alternatywa?

11

Próbowałem użyć s3fs na serwerze EC2, ale jest to naprawdę powolne. Ostatnie 5 godzin spędziłem na przesyłaniu 100 MB małych plików.

Czy jest coś, co mogę zrobić, aby poprawić wydajność, czy jest to coś związanego z S3fs? Jeśli nie, to jakiej alternatywy mógłbym użyć?

MB.
źródło
zdefiniować małe pliki, 1K? 500 bajtów? 1 MB?
cienki
około ~ 200 000 ...
MB.
W zależności od potrzeb związanych z pamięcią masową możesz chcieć po prostu korzystać z EBS, chyba że potrzebujesz dostępu z innych systemów jednocześnie, w takim przypadku konfiguracja wirtualnego systemu operacyjnego z EBS może być nadal lepszym rozwiązaniem.
Tracker1

Odpowiedzi:

7

S3FS może nie być najlepszym wyborem dla dużej liczby mniejszych plików. Narzut z S3FS jest również dość wysoki. Sugerowałbym użycie czegoś takiego jak S3Curl

Możesz nawet uruchomić przelewy równoległe. Pamiętaj tylko, że nigdy nie będzie tak szybki jak EBS / pamięć lokalna.

Jeśli potrzebujesz go jako „montowalnego” magazynu, jedyną znaną mi alternatywą dla S3FS jest S3Backer lub s3ql

cienki lód
źródło
1
Szukam czegoś, co mogę zamontować jako system plików.
MB.
Masz jakieś przemyślenia na temat s3ql?
ewwhite
Spróbuję S3Backer i S3Sql. Dzięki.
MB.
5 godzin jest naprawdę powolnych w przypadku plików ~ 500, 200 KB nawet przy S3FS. Coś jeszcze może być faktoringiem, nie jestem świadomy żadnego dostrajania S3FS, który by pomógł
cienko
6

Właśnie porównałem riofs z s3fs. Mój przypadek testowy był stosunkowo prostym skryptem bash, który uruchamiał pngquant na każdym znalezionym pliku .png. Na testbucket z ~ 70 obrazami, z czego ~ 20, gdzie png (rozłożone na wiele podkatalogów, co prawdopodobnie spowalnia rzeczy) wyniki, w których:

s3fs: 3m54
riofs: 15,9s

Tak więc dla tego przypadku riofs jest ~ 15 razy szybszy! Konfiguracja była również bardzo prosta, chociaż dokumenty są nieco zwięzłe.

Biorąc pod uwagę fakt, że skrypt nadal zajmował 15,9 s: nie jest zbyt wydajny, również uruchamianie pngquant na png jest procesem intensywnym.

Milo de Vries
źródło
Niestety riofs zawodziAWS message: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.
lrkwz 23.01.17
2

Właśnie wydałem v0.0.1 z https://github.com/kahing/goofys, który był częściowo motywowany problemami z wydajnością w s3fs. Przyspieszenie tworzenia pliku wynosi 3-6x, a czas do pierwszego bajtu 58x. Witamy mile widziane!

khc
źródło
2
Od 2019 roku - Goofys jest zalecanym wyborem. Riotfs nie był aktualizowany od dłuższego czasu.
timofey.com
1

Użyłem [1] i jest bardzo dobry. Ma wiele poleceń i znacznie ułatwia dostęp do aws i s3.

  1. http://timkay.com/aws/
Amit
źródło
1
Witaj w Server Fault! Chociaż teoretycznie może to odpowiedzieć na pytanie, lepiej byłoby zawrzeć tutaj istotne części odpowiedzi i podać odnośnik.
Scott Pack
1

Porównałem s3fs z riofs i prawie przełączyłem ze względu na zauważalnie lepszą wydajność. Problem polega na tym, że riofs wciąż nie jest aktualizowany do sygnatur v4, co oznacza, że ​​nie będzie działać z wiaderkami s3 z Frankfurtu lub Chin. Według właściciela aktualizacja jest w drodze. Jeśli nie korzystasz z Frankfurtu ani Chin, riofs to lepsza opcja.

Steve
źródło
Nie działa również z eu-central-1
lrkwz
1

To trochę stare, ale może pomóc, kto tu dotrze.

Używam aws cli i działa bardzo dobrze (3 Mb / s)

pip install awscli --upgrade --user
nano ~/.bash_profile
export PATH="~/.local/bin:$PATH"
aws s3 sync /sourcedir/ s3://bucketname/destdir/
mariomol
źródło