Thank you very much Yann, The workload will be static HTML files. The site typically has 1.000 visits per hour, but some days it has a sudden demand of 10.000 unique visitors in a matter of seconds. We start with your values and check periodically with mod_status. Thank's again Missatge de Yann Ylavic <ylavic.dev@xxxxxxxxx> del dia dv., 18 de març 2022 a les 11:19: > > On Fri, Mar 18, 2022 at 8:27 AM Marc Serra <mserra@xxxxxxxxx> wrote: > > > > Thank's for your comments Frank, > > > > Reading the Apache documentation > > (https://httpd.apache.org/docs/2.4/en/mod/mpm_common.html#threadlimit) > > I cannot find the way to calculate an optimal value for ThreadLimit > > and ThreadsPerChild directives for that reason I kept the default > > values (64 and 25). > > > > Can you (or anyone) help me to find the right values? > > This script might help for an MPM event configuration based on > MaxRequestWorkers: > ``` > #!/bin/bash > > if [ $# -lt 1 ]; then > echo>&2 "usage: `basename $0` <MaxRequestWorkers>" > exit 1 > fi > > # Some pre-computations > numWorkers=$1 > if [ $numWorkers -lt 1000 ]; then > numProcesses=10 > elif [ $numWorkers -lt 10000 ]; then > numProcesses=$(($numWorkers / 100)) > else > numProcesses=100 > fi > numThreads=$(($numWorkers / $numProcesses)) > > cat <<EOF > # MPM event settings > StartServers 1 > ServerLimit $(($numProcesses * 3)) > ThreadLimit $numThreads > ThreadsPerChild $numThreads > MinSpareThreads $numThreads > MaxSpareThreads $(($numWorkers / 2)) > MaxRequestWorkers $numWorkers > #ThreadStackSize 524288 > MaxConnectionsPerChild 0 > EOF > ``` > > For a MaxRequestWorkers of 1500, it gives: > # MPM event settings > StartServers 1 > ServerLimit 45 > ThreadLimit 100 > ThreadsPerChild 100 > MinSpareThreads 100 > MaxSpareThreads 750 > MaxRequestWorkers 1500 > #ThreadStackSize 524288 > MaxConnectionsPerChild 0 > > But you didn't describe your workload: static resources, dynamic > content (local with mod_cgid or offloaded with mod_proxy_fcgi), > proxying (HTTP, websocket), etc. > Since your system looks quite capable (RAM/CPU), the limit for > MaxRequestWorkers depends mainly on the average request time (bounded > by timeouts) which you probably should measure for your workload. > > > Regards; > Yann. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx > For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx > -- Marc Serra -- <https://www.manxa.com> Manxa 1876, S.L. Ctra. Les Tries, 85.17800 Olot (Girona) *Tel. 972 27 45 30 www.manxa.com <https://www.manxa.com>* <https://www.manxaindustrial.com> *Manxa Industrial <https://www.manxaindustrial.com>* <https://www.manxaferros.com> *Manxa Ferros <https://www.manxaferros.com>* <https://www.manxabricolatge.com> *Manxa Ferreteria i Parament de la Llar <https://www.manxabricolatge.com>* -- El contingut d’aquest correu electrònic i els seus annexos és estrictament confidencial. En el cas que no siguis el destinatari i hagis rebut aquest missatge per error, preguem que ho comuniquis al remitent i procedeixis a la seva eliminació, sense difondre, emmagatzemar o copiar el seu contingut. Imprimeix aquest correu només si és necessari. El contenido de este correo electrónico y sus anexos es estrictamente confidencial. En el caso de que no seas el destinatario y hayas recibido este mensaje por error, rogamos lo comuniques al remitente y procedas a su eliminación, sin difundir, almacenar o copiar su contenido. Imprimir este correo solo si es necesario. The content of this email and its attachments is strictly confidential. If you are not the recipient and you have received this message by mistake, please notify the sender and proceed to its elimination, without spreading, storing or copying its content. Print this email only if necessary. Le contenu de cet e-mail et de ses pièces jointes est strictement confidentiel. Dans le cas où vous n'êtes pas le destinataire et avez reçu ce message par erreur, veuillez en informer l'expéditeur et procéder à sa suppression, sans diffuser, stocker ou copier son contenu. Imprimez cet e-mail uniquement si nécessaire. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx