Upload Throughput Evaluation
The advantages of mass parallelism and efficiencies of regional networking are undeniable. Xa Net is proud to pioneer this new paradigm, and offer the most performant and scalable cloud service in industry.
Elaborated more completely in the companion Introduction to Performance Evaluations, today we are highlighting the results of one of our first rounds of formal performance testing.
This evaluation measured chiefly the network throughput of the Relayer stack. The Relayer is a drop-in replacement for many cloud uses and enables powerful parallelism across the peer-to-peer storage mesh of the ScPrime network. The below tests are performed on a VPS featuring 32 cores/64 thread and 128GB RAM.
The below results from separate runs show first a short-term upload averaging 7.41 Gbit/s peaking at ~10 Gb, and then a sustained upload averaging 6.14 Gb/s with peaks over 9 Gb.
Comparatively, using AWS CLI we achieved a hair over 4 Gb/s. This AWS CLI instance was running highly tuned parameters of 30 concurrent requests and 50 MB chunksize, representing the most performance this setup could yield using AWS.
We were also able to validate some key scaling parameters. “Upload workers” describes uploading threads, each one representing an erasure coded row. For best performance, this figure should be near (but not above) CPU thread count. We ran the below test using 18, 30, and 60 workers respectively.
As expected, 60 workers were most performant for this configuration, scaling quasi-linearly above the others. You can expect performance to continue to scale above 60 workers given a capable CPU. We would like to focus on upload workers and related parameters in a future evaluation.
During the sustained relayer test, RAM use was primarily in the channel of 50-100 GB, however it reached near-full utilization toward the beginning and in some spikes afterward.
Disk IOps was another factor, averaging ~1300 through the test but frequently spiking to 4500+. We had found previously that high throughput tests can strain SSDs, consistent with our recommendation of high-performance NVMe for pushing 5 Gbit and above.
These tests were performed using the whole network as a host set for the relayer. Using regional hostsets would decrease upload latencies, allowing more efficient and potentially faster uploads. This also would allow relayers with lower concurrent worker count to upload data faster due to lower communications latencies. This kind of distributed network can be dynamically incentivized to grow in regions with higher demand, such as where traditional cloud providers lack a regional presence. The relayer will come with reasonable defaults (guided in part by the results of these ongoing test regimes), and be tunable by administrators for their specific performance needs.
We are pleased speeds of 10 Gbit and beyond are not only possible, but achievable with relatively standard server hardware – even still, development to power even higher performance targets is well underway. It is validating to our belief that harnessing the massive parallelism offered by a distributed mesh can push the boundaries of traditional offerings. While it is true that enormous bandwidth can be reached on traditional cloud by private direct-connects, this has high costs associated and is only viable near these comparatively few datacenters and at large scales. With the dynamic and scalable nature of distributed cloud we can deliver these speeds to anyone, in any region of the world. Learn more about Xa Net Services here, or see our network in action.