¿Mejoras de rendimiento S3fs o alternativa?

11

He estado tratando de usar s3fs en un servidor EC2 pero es muy lento. Pasé las últimas 5 horas cargando 100 MB de archivos pequeños.

¿Hay algo que pueda hacer para mejorar el rendimiento o está relacionado con S3fs? Si no, ¿qué alternativa podría usar?

MEGABYTE.
fuente
definir archivos pequeños, 1K? 500bytes? 1MB?
thinice
alrededor de ~ 200K ...
MB.
Dependiendo de sus necesidades de almacenamiento, es posible que desee usar EBS, a menos que necesite acceso desde otros sistemas simultáneamente, en cuyo caso la configuración de un NAS virtual con EBS puede ser una mejor opción.
Rastreador1

Respuestas:

7

S3FS puede no ser la mejor opción para una gran cantidad de archivos más pequeños. La sobrecarga con S3FS también es bastante alta. Sugeriría usar algo como S3Curl

Incluso puede obtener transferencias paralelas. Solo recuerde que nunca será rápido como EBS / almacenamiento local.

Si necesita tenerlo como un almacenamiento 'montable', las únicas alternativas a S3FS que conozco son S3Backer o s3ql

hielo delgado
fuente
1
Estoy buscando algo que pueda montar como un sistema de archivos.
MB.
¿Alguna idea sobre s3ql?
ewwhite
Probaré S3Backer y S3Sql. Gracias.
MB.
5 horas es realmente lento para ~ 500, archivos de 200 KB incluso con S3FS. Algo más podría estar teniendo en cuenta, no estoy al tanto de ningún sintonizable S3FS que pueda ayudar
thinice
6

Acabo de comparar los riofs en comparación con s3fs. Mi caso de prueba fue un script bash relativamente simple que ejecutó pngquant en cada .png que encontró. En un testbucket con ~ 70 imágenes de las cuales ~ 20 donde png (repartidas en muchos subdirectorios, que probablemente ralentizan las cosas) los resultados donde:

s3fs: 3m54
riofs: 15.9s

¡Entonces, para este caso de prueba, riofs es ~ 15 veces más rápido! La configuración también fue muy sencilla, aunque los documentos son algo breves.

Con respecto al hecho de que el script aún tardó 15.9s: no es muy eficiente, también ejecutar pngquant en png es un proceso intensivo de CPU.

Milo de Vries
fuente
Desafortunadamente riofs falla conAWS message: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.
lrkwz
2

Solo agrego riofs a la mezcla. No pude ver ningún punto de referencia por ahora, pero hay un problema / solicitud que cualquiera puede hacer.

f01
fuente
2

Acabo de lanzar la v0.0.1 de https://github.com/kahing/goofys que fue en parte motivada por problemas de rendimiento en s3fs. La aceleración de la creación de archivos es de 3-6x y el tiempo para el primer byte es de 58x. Comentarios bienvenidos!

khc
fuente
2
A partir de 2019, Goofys es la opción recomendada. Riotfs no se ha actualizado en mucho tiempo.
timofey.com
1

Solía ​​[1] y es muy bueno. Es una gran cantidad de comandos y facilita el acceso a aws y s3.

  1. http://timkay.com/aws/
Amit
fuente
1
¡Bienvenido a Server Fault! Si bien esto puede responder teóricamente la pregunta, sería preferible incluir aquí las partes esenciales de la respuesta y proporcionar el enlace para referencia.
Scott Pack
1

Comparé s3fs con riofs, y casi cambié debido a un rendimiento notablemente mejor. El problema es que riofs todavía no se actualiza a las firmas v4, lo que significa que no funcionará con los buckets s3 de Frankfurt o China. Según el propietario, hay una actualización en camino. Si no usa Frankfurt o China, riofs es una mejor opción.

Steve
fuente
Tampoco funciona desde eu-central-1
lrkwz
1

Esto es bastante viejo, pero puede ayudar a quien llegue aquí.

Estoy usando aws cli y funciona muy bien (3 Mb / s)

pip install awscli --upgrade --user
nano ~/.bash_profile
export PATH="~/.local/bin:$PATH"
aws s3 sync /sourcedir/ s3://bucketname/destdir/
mariomol
fuente