Newsgroup: it.comp.os.linux.sys
Titolo: server reached MaxRequestWorkers setting

Ciao,
ho un server che, spesso e volentieri, si blocca loggando:
 
[mpm_worker:error] [pid 9708:tid 140297150625536] AH00287: server is within MinSpareThreads of MaxRequestWorkers, consider raising the MaxRequestWorkers setting
[mpm_worker:error] [pid 9708:tid 140297150625536] AH00286: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
 
Ora, so perfettamente cosa significa e come risolvere, ma non è questo il punto.
Ciò che fa strano è che si blocca SEMPRE e SOLO in piena notte, con il traffico sostanzialmente nullo (e con nullo intendo veramente nullo, qualcosa tipo poche centinaia di visite all'ORA su tutto il server). 
In pieno giorno (con svariate richieste al secondo) non ha mai dato problemi.
 
La configurazione è la stessa identica di molti altri miei server, ma solo questo puntualmente si pianta e devo incrementare ogni volta il numero di MaxRequestWorkers.
 
Sono arrivato a circa 1800, quando tutti gli altri server, anche ben più carichi, hanno 580 di valore.
Aumento, e dopo qualche giorno si pianta di nuovo. Riaumento, riparte, dopo qualche giorno si ripianta e così via.
 
Da cosa può essere causato questo problema ? Presumo sia una carenza di risorse a livello di disco, dato che in tale orario c'è sempre il backup che gira.
C'è modo di diagnosticare la problematica ?
Ma se fosse un problema di risorse, apache accoda all'infinito fino a collassare? Non c'è un timeout ?

 un timeout ?
 
Metto la mia esperienza perch� magari serve anche se non sono convinto che 
sia lo stesso tuo problema:
mi � capitato che una macchina schiantasse sempre a una data ora in assenza 
di carico, la causa era lo sviluppatore del sito e un bot di un motore di 
ricerca che riusciva a picchiare sempre alla stessa ora sul dente malato. In 
buona sostanza il bot andava a chiamare una risorsa che non c'era e invece 
di uscire un 404 usciva una pagina di cortesia per il 404 che includeva una 
risorsa mancante che generava un'altro 404 che generava un'antra pagina di 
cortesia ( la solita )........si � capito vero? andava in loop finendo le 
risorse.
 
il mio mezzo cent
 
Umberto
 
 

 In buona sostanza il bot 
 
yandex? ;) 
 
-- 
Massimiliano Adamo

 
no no era il russo, sinceramente non ricordo, vado a memoria forse yahoo ma 
non ci giurerei ecco
 
Umberto

 no no era il russo, sinceramente non ricordo, vado a memoria forse yahoo
^^^^^^^^
no non era il russo ..... si legge meglio ;-)


 risorse.
 
Plausibile in parte, il problema si presenta non tutti i giorni, ma saltuariamente (anche se con troppa frequenza), sempre e solo di notte ma in orari diversi.
 
L'altro ieri alle 3:10, 10 giorni prima alle 4:24, e così via.
In pratica ogni orario è buono purchè gli allarmi che scattano mi possano svegliare di soprassalto. Se l'orario è comodo, il server non si blocca.
 
Questo significa che dalle 2 alle 6 di mattina ogni momento è buono.


io non ho un problema, nel senso che i server funzionano ancora bene... 
però questi bot sono particolarmente pedanti... e forse inefficienti. 
 
 
-- 
Massimiliano Adamo

 
ma nel mio caso era colpa dello sviluppatore e della sempre pi� necessaria 
complessit� di questi robi che si usano per fare i siti.
se il bot sia pedante non lo so, forse tutto dipende dalla necessit� di 
analizzare pi� velocemente possibile i dati e con maggiore frequenza....che 
dire sono pronto alla fiammata ;-) 
<flame on>
per me si pu� scrivere tutto in txt
un sacco di questi siti non servono a una cippa
</flame of>
per l'inefficienza non sono proprio in grado di giudicare.
fatto sta che a volte ci complichiamo da soli la vita, per migliorare l' 
"esperienza di navigazione" !! 
 
oggi � caldo e l'aria condita non va...mi ritiro...
 
Umberto

 ricerca che riusciva a picchiare sempre alla stessa ora sul dente malato.
 
Come hai debuggato la cosa ? Se hai un solo sito è facile, quando ne hai migliaia un po meno.
 
C'è qualche sistema di diagnostica o una qualche direttiva di apache che indica quale vhost sta occupando risorse ? O qualche modulo che limita il numero di connessione per vhost etc etc

 numero di connessione per vhost etc etc
 
Per monitorizzare apache ho usato l'accoppiata munin / monit
 
con il primo ho una visione qualitativa del carico della macchina e con il 
secondo si possono impostare regole generali per evitare che alcuni servizi 
sforino le risorse e riavviare il servizio se � il caso
 
Umberto