Testing Environment:
- Host Type: c5.12xlarge with standard 240 IOPS
- S3: Directly Writing and reading from S3
- Minio: Local instance of Minio
- Weed: Local instance of SeaweedFS
- Weed Remote: Weed server on another machine on the same AZ
- IPFS: Local instance of IPFS version 1.19
- IPFS Remote:
- Writes to a remote IPFS hosted on another machine on the same AZ. No local daemon is running
- Reads using local daemon with direct peering with the remote host that has the data
Observations:
- S3 and SeaweedFS performed the best, with SeaweedFS being able to utilize more CPU cores and complete is less total time. However, we should expect more powerful and IO optimized hosts in production compared to what I used in the benchmarks
- SeaweedFS performed better when data was hosted on a remote machine on the same AZ instead of locally
- Minio didn’t perform well compared to other systems
- IPFS gave unstable outcomes. In some cases it was able to utilize the CPU the most and complete fast, while other times it took much longer to complete and only utilized a fraction of the CPU
- IPFS didn’t do as well with remote data, but outperformed other systems for small files
Puts
5GB File