I am trying to benchmark the performance of my HLS video server. My server is a pretty naive one at the moment: Just an NGINX file server. (HLS delivers video over HTTP by splitting it up into files called chunks.) Each file is ~256KB in size, and I need to download a file every 2 seconds. That's 1 mbit/s .
I have a pretty decent link to the internet from my AWS server. I have benched it at at least 2 gbps.
However, when I test streaming for trans-atlantic connections with ~150ms latency, I get very low bandwidth. I think this can be attributed to RTT and TCP windows. My main problem is that the bandwidth per connection is below 1mpbs which is desired quality of my video playback.
I do not want to invest in deploying multisite or CDNs at the moment, as I do not have many clients playing video.
I would just like my clients to achieve a bandwidth which is good enough to play the video. (My clients will be PCs,Androids,and iPhones).
This seems to me like a common enough problem. What do other people do here? Are CDNs my only hope? I don't have many concurrent clients, so CDNs sound like overkill to me.