I have site that allows users to download media file (mp3 mp4). The files range from 10mb to 90mb in size. There are anywhere from 150-300 users signed in and downloading files at one time. Right now the site is moving SO slow. The site is built on PHP, but we're using XSendFile to move the download processing out of php and into apache. The analytics from NewRelic show that the application itself is moving really fast, so the slow down must be coming from the apache side of things.
Here's a look at some of our apache2 config
Timeout 300
KeepAlive Off
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 75
MaxRequestsPerChild 0
</IfModule>
<IfModule mpm_worker_module>
ServerLimit 50
StartServers 10
MinSpareThreads 75
MaxSpareThreads 250
ThreadLimit 64
ThreadsPerChild 32
MaxClients 1600
MaxRequestsPerChild 8000
</IfModule>
<IfModule mpm_event_module>
StartServers 10
MinSpareThreads 75
MaxSpareThreads 250
ThreadLimit 64
ThreadsPerChild 32
MaxClients 800
MaxRequestsPerChild 10000
</IfModule>
I need to know the optimal apache setting to handle these downloads. Right now the site is almost unusable.