Hello everyone,
I’m running a streaming website for my TV series and movie archive. All videos are stored on a 64TB HDD-based VDS server configured in RAID 0.
Current setup
Constraints
The problem:
When I reach around 10,000+ concurrent viewers, the HDD RAID 0’s IOPS usage becomes extremely high, causing playback stuttering and buffering issues for users. I want to ensure smooth, uninterrupted playback even during peak traffic.
I’m looking for advice on the best server architecture and optimization setup for HLS streaming that can handle this kind of load without using a CDN (too expensive for my use case).
Here are some solutions I’ve considered but haven’t implemented yet:
My goal is to design a future-proof setup that can handle heavy traffic and deliver videos quickly without buffering.
If you were in my situation, how would you build and optimize such a system?
Any real-world advice, configuration tips, or proven architectures would be highly appreciated.
I’m running a streaming website for my TV series and movie archive. All videos are stored on a 64TB HDD-based VDS server configured in RAID 0.
Current setup
- VDS with ~64 TB HDD storage in RAID0
- Linux + Nginx serving HLS
- Workload is read-heavy (segments requested by many users at once)
- Network/CPU are fine; issues begin when the disk queue grows and I/O wait spikes
Constraints
- I want to avoid paid CDN for now (too expensive at my scale).
- I’m open to adding a few SSD/NVMe boxes if that’s the most cost-effective path.
The problem:
When I reach around 10,000+ concurrent viewers, the HDD RAID 0’s IOPS usage becomes extremely high, causing playback stuttering and buffering issues for users. I want to ensure smooth, uninterrupted playback even during peak traffic.
I’m looking for advice on the best server architecture and optimization setup for HLS streaming that can handle this kind of load without using a CDN (too expensive for my use case).
Here are some solutions I’ve considered but haven’t implemented yet:
- Using LVM Cache to put an SSD cache layer in front of the HDD array
- Using Bcache for SSD caching
- Enabling NGINX Proxy Cache
- Adding 3+ additional SSD-based servers to serve the most-watched videos
- CDN – Not an option for me due to high cost
My goal is to design a future-proof setup that can handle heavy traffic and deliver videos quickly without buffering.
If you were in my situation, how would you build and optimize such a system?
Any real-world advice, configuration tips, or proven architectures would be highly appreciated.