I started s3 gateway for storj and started mirroring my minio server (50GB of files ranging in size from 100KB to 3MB). s3 gateway could not sustain my max upload speed of 500mbps (separate topic documented in other threads), but whenever it was pushing 300 to 500mbps, it was using 400% cpu (4 cores loaded fully). I am running on Intel i5-8400 which has aes-ni and avx extensions so I would not expect encryption and upload to take that much cpu. In comparison, when I am uploading backup to minio (using restic which will encrypt backup and break up into smaller blobs), I could max out my 500mbps connection and neither restic, nor minio server (using https) would use much of my cpu.
I was planning to use storj in cloud setup where I would be uploading lots of data directly from cloud servers to storj network, but so much CPU requirement from storj uplink would slow down my servers a lot (CPU is very expensive in cloud). Is there a way to minimize CPU usage?