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ć?


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


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.


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!


2
Od 2019 roku - Goofys jest zalecanym wyborem. Riotfs nie był aktualizowany od dłuższego czasu.
timofey.com


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.


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/
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.