S3fs Leistungsverbesserungen oder Alternative?


11

Ich habe versucht, s3fs auf einem EC2-Server zu verwenden, aber es ist sehr langsam. Ich habe die letzten 5 Stunden damit verbracht, 100 MB kleine Dateien hochzuladen.

Kann ich irgendetwas tun, um die Leistung zu verbessern, oder hat es etwas mit S3fs zu tun? Wenn nicht, welche Alternative könnte ich verwenden?


kleine Dateien definieren, 1K? 500 Bytes? 1 MB?
Thinice

um ~ 200K ...
MB.

Abhängig von Ihren Speicheranforderungen möchten Sie möglicherweise nur EBS verwenden, es sei denn, Sie benötigen gleichzeitig Zugriff von anderen Systemen. In diesem Fall ist das Einrichten einer virtuellen Nase mit EBS möglicherweise immer noch eine bessere Option.
Tracker1

Antworten:


7

S3FS ist möglicherweise nicht die beste Wahl für eine große Anzahl kleinerer Dateien. Der Overhead mit S3FS ist ebenfalls ziemlich hoch. Ich würde vorschlagen, etwas wie S3Curl zu verwenden

Sie können sogar parallele Übertragungen in Gang bringen. Denken Sie daran, es wird niemals so schnell sein wie EBS / lokaler Speicher.

Wenn Sie es als "einbaubaren" Speicher benötigen, sind S3Backer oder s3ql die einzigen mir bekannten Alternativen zu S3FS


1
Ich suche etwas, das ich als Dateisystem bereitstellen kann.
MB.

Irgendwelche Gedanken zu s3ql?
ewwhite

Ich werde S3Backer und S3Sql versuchen. Vielen Dank.
MB.

5 Stunden sind für ~ 500 Dateien mit 200 KB sogar mit S3FS sehr langsam. Etwas anderes könnte berücksichtigt werden, mir ist kein S3FS-Tuning bekannt, das helfen könnte
Thinice

6

Ich habe gerade Riofs im Vergleich zu s3fs verglichen. Mein Testfall war ein relativ einfaches Bash-Skript, das auf jeder gefundenen PNG-Datei pngquant ausführte. Auf einem Testbucket mit ~ 70 Bildern, von denen ~ 20 wo png (verteilt auf viele Unterverzeichnisse, was wahrscheinlich die Dinge verlangsamt) die Ergebnisse waren, wo:

s3fs: 3m54
riofs: 15.9s

Für diesen Testfall sind Riofs also ~ 15x schneller! Das Setup war auch sehr einfach, obwohl die Dokumente etwas knapp sind.

In Bezug auf die Tatsache, dass das Skript noch 15,9 Sekunden dauerte: Es ist nicht sehr effizient, auch das Ausführen von pngquant auf PNGs ist ein CPU-intensiver Prozess.


Leider scheitert Riofs mitAWS message: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.
lrkwz


2

Ich habe gerade v0.0.1 von https://github.com/kahing/goofys veröffentlicht, was teilweise durch Leistungsprobleme in s3fs motiviert war. Die Geschwindigkeit bei der Dateierstellung beträgt 3-6x und die Zeit bis zum ersten Byte 58x. Feedback willkommen!


2
Ab 2019 ist Goofys die empfohlene Wahl. Riotfs wurde seit einiger Zeit nicht mehr aktualisiert.
timofey.com

1

Ich habe [1] verwendet und es ist sehr gut. Es sind viele Befehle und erleichtern den Zugriff auf aws und s3 erheblich.

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

1
Willkommen bei Server Fault! Während dies theoretisch die Frage beantworten kann, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
Scott Pack

1

Ich habe s3fs mit riofs verglichen und wegen der deutlich besseren Leistung fast gewechselt. Das Problem ist, dass riofs immer noch nicht auf v4-Signaturen aktualisiert wird, was bedeutet, dass es mit Frankfurt- oder China-s3-Buckets nicht funktioniert. Nach Angaben des Eigentümers ist ein Update unterwegs. Wenn Sie Frankfurt oder China nicht benutzen, ist Riofs eine zweifellos bessere Option.


Funktioniert auch nicht von eu-central-1
lrkwz

1

Das ist ein bisschen alt, kann aber helfen, wer hierher kommt.

Ich benutze aws cli und es funktioniert sehr gut (3 Mb / s)

pip install awscli --upgrade --user
nano ~/.bash_profile
export PATH="~/.local/bin:$PATH"
aws s3 sync /sourcedir/ s3://bucketname/destdir/
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.