I ask for your help. I myself can no longer see the way out.
I have a server
1x Xeon E-2236
32RAM
4 x 10TB disks (WDC WD101KRYZ-01) - collected in RAID-0.
The disks are fast. Each individually provides 250MB/s read/write. The RAID-0 array produces 900MB / s - which is quite enough to pump a 7 gigabit channel. Test conducted with hdparm -t /dev/md0
The server is designed to distribute large video files - it is a streaming video server.
When I turn on traffic to this server, everything goes well for a while, but over time, iowait grows to its maximum. The HDDs only handle 40 requests per second - which is very small. iowait is busy worker process(nginx).
1. Why? What am I doing wrong?
I tried enabling aio for multithreading in nginx, it helped but not essential.
I increased readahead = 8192, blockdev --setra 65536 - no result.
2. Why does the kernel not try to cache static data in RAM at maximum CPU load?
I checked the disks. There are no bad sectors. HDDs - great.
3. Why does atop show a high load on only one disk? (see screenshot)
4. Shouldn't RAID-0 parallel the load across all disks?
I ask for your help. Thank you!