基于 S3 的 Filey 系統:Goofys
Goofys 是使用 Go 編寫,基于 S3 接口的 Filey 系統。
Goofys 允許你掛載一個 s3 bucket 作為一個 Filey 系統。為什么是 Filey 系統而不是 File 系統?因為 goofys 優先考慮性能而不是 POSIX。
使用:
$ go get github.com/kahing/goofys $ go install github.com/kahing/goofys $ cat > ~/.aws/credentials [default] aws_access_key_id = AKID1234567890 aws_secret_access_key = MY-SECRET-KEY $ $GOPATH/bin/goofys <bucket> <mountpoint>
基準測試:
使用 goofys--stat-cache-ttl 0 --type-cache-ttl 0和 s3fs -ostat_cache_expire=1模擬運行。基準測試詳情請看 bench.sh,同時提供 Raw data。測試是在 EC2 c4.xlarge 下運行的:
operation | goofys | s3fs | speedup |
---|---|---|---|
Create 1000 files | 49.4 +/- 1.5s | 146.0 +/- 15.0s | 2.96 +/- 0.32x |
Unlink 1000 files | 28.1 +/- 0.8s | 36.7 +/- 6.2s | 1.31 +/- 0.22x |
ls with 1000 files | 0.21 +/- 0.04s | 3.5 +/- 0.6s | 16.9 +/- 4.6x |
Create 1000 files (parallel) | 21.5 +/- 0.4s | 134.2 +/- 9.1s | 6.2 +/- 0.4x |
Unlink 1000 files (parallel) | 28.18 +/- 0.35s | 38.1 +/- 4.2s | 1.35 +/- 0.15x |
Write 1GB | 51.4 +/- 4.3MB/s | 29.7 +/- 2.9MB/s | 1.73 +/- 0.22x |
Read 1GB | 58.9 +/- 4.7MB/s | 65.7 +/- 18.9MB/s | 0.90 +/- 0.27x |
Time to 1st byte | 0.0169 +/- 0.0023s | 0.98 +/- 0.06s | 58.3 +/- 8.7x |
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!