C'est pour un miror Ubuntu : 461 Go de données (archives + cd + cd francisés d'ubuntu-fr + cd lubuntu) donc les SSD il faut oublier.
Je n'ai pas mis de RAID, trop cher.
Je regarderais attentivement lors du rush lors de la sortie de la prochaine version ce qui va limiter le débit.
Le but est de pouvoir servir les fichiers (n http uniquement) à un débit de 2 Gb/s lors des sorties des nouvelles version.
Même si apache consomme plus de CPU, j'ai l'impression que ce n'est vraiment pas là qu'est le goulot d'étranglement.
il faut activer le worker mod et aussi changer la valeur du nofile.
C'est à dire ?
Voici la conf que j'ai réalisé d'Apache, j'ai bien boosté les valeurs par défault :
<IfModule mpm_worker_module>
ServerLimit 32For the worker MPM, this directive in combination with ThreadLimit sets the maximum configured value for MaxClients for the lifetime of the Apache process.
Any attempts to change this directive during a restart will be ignored, but MaxClients can be modified during a restart.
Special care must be taken when using this directive. If ServerLimit is set to a value much higher than necessary, extra, unused shared memory will be allocated.
If both ServerLimit and MaxClients are set to values higher than the system can handle, Apache may not start or the system may become unstable.
With worker, use this directive only if your MaxClients and ThreadsPerChild settings require more than 16 server processes (default).
Do not set the value of this directive any higher than the number of server processes required by what you may want for MaxClients and ThreadsPerChild.
StartServers 5The StartServers directive sets the number of child server processes created on startup.
As the number of processes is dynamically controlled depending on the load, there is usually little reason to adjust this parameter.
MinSpareThreads 200Minimum number of idle threads to handle request spikes.
worker use a default of MinSpareThreads 75 and deal with idle threads on a server-wide basis.
If there aren't enough idle threads in the server then child processes are created until the number of idle threads is greater than number.
MaxSpareThreads 2000Maximum number of idle threads.
For worker the default is MaxSpareThreads 250. These MPMs deal with idle threads on a server-wide basis.
If there are too many idle threads in the server then child processes are killed until the number of idle threads is less than this number.
Worker : set the value of MaxSpareThreads to the same value as MaxClients
ThreadLimit 300This directive sets the maximum configured value for ThreadsPerChild for the lifetime of the Apache process.
Any attempts to change this directive during a restart will be ignored, but ThreadsPerChild can be modified during a restart up to the value of this directive.
Special care must be taken when using this directive. If ThreadLimit is set to a value much higher than ThreadsPerChild, extra unused shared memory will be allocated.
If both ThreadLimit and ThreadsPerChild are set to values higher than the system can handle, Apache may not start or the system may become unstable.
Do not set the value of this directive any higher than your greatest predicted setting of ThreadsPerChild for the current run of Apache.
ThreadsPerChild 200This directive sets the number of threads created by each child process.
The child creates these threads at startup and never creates more.
If using an MPM like worker, where there are multiple child processes, the total number of threads should be high enough to handle the common load on the server.
MaxClients 4000The MaxClients directive sets the limit on the number of simultaneous requests that will be served.
Any connection attempts over the MaxClients limit will normally be queued, up to a number based on the ListenBacklog directive.
Once a child process is freed at the end of a different request, the connection will then be serviced.
Therefore, to increase MaxClients to a value that requires more than 16 processes, you must also raise ServerLimit
MaxRequestsPerChild 0The MaxRequestsPerChild directive sets the limit on the number of requests that an individual child server process will handle.
After MaxRequestsPerChild requests, the child process will die.
If MaxRequestsPerChild is 0, then the process will never expire.
Worker : set the value of MaxRequestsPerChild to zero
MaxRequestsPerChild controls how frequently the server recycles processes by killing old ones and launching new ones.
</IfModule>