Ricerca in FOLBlog

[SdSM] La Produzione e’…

 Scritto da alle 06:27 del 20/05/2012  Aggiungi commenti
Mag 202012
 
closeQuesto articolo è stato pubblicato 5 anni 5 mesi 2 giorni giorni fa quindi alcuni contenuti o informazioni presenti in esso potrebbero non essere più validi. Questo sito non è responsabile per eventuali errori causati da questo problema.

postgres-database

Ritorniamo a parlare di quel branco di programmatroti di cui avevo parlato in questa storia.

Come detto precedentemente il branco di mammalucchi sta passando da un sistema pesantemente basato su Windows ad uno pesantemente basato su postgre. Il che non e’ un male. Cio’ che e’ male e’ che questi insistono a fare sviluppo e testing su un server che apparentemente non mostra mai nessun problema mentre quando l’applicazione viene portata in produzione si incrocchia piu’ si che no.

Io ho gia’ fatto notare che gli ambienti di test e di produzione dovrebbero essere il piu’ possibile identici, altrimenti che "test" e’? Ma pare che tale concetto passi del tutto inosservato al programmatroto di turno.

Comunque sia, un paio di settimane fa c’e’ stato l’ennesimo rilascio di una manica di roba in produzione e adesso pare che il database sia di una lentezza allucinante. Dato che il database non e’ cambiato quello che ho pensato io e’ che forse forse forse e’ il caso di fare un po’ di ottimizzazioni alle query che sono utilizzate.

Ricevo una richiesta del CL di turno di "abilitare il profiling" del database. Hemmm… non c’e’ nessun profiling. Si puo’ abilitare il logging del database e poi analizzare i files di log per vedere cosa si puo’ ottimizzare ma la cosa migliore sarebbe che il programmatroto impari a scrivere le sue query ed utilizzare il database come si comanda e non alla ca$$o come e’ fatto attualmente probabilmente.

Percui oggi mi becco la seguente conversazione con il CL di turno.

CL – …e quindi vogliamo attivare il logging sul database di produzione in modo da avere le informazioni necessarie per il profiling.
IO – Ma siamo sicuri di voler attivare il logging sul databsae di produzione? Quel sistema e’ gia’ lento adesso, se attiviamo anche il logging mi sa che le cose peggiorano di sicuro.
CL – Che impatto puo’ avere sulle performance?
IO – E come faccio a saperlo? Un impatto ce lo avra’ di sicuro, solo per scrivere i dati nel file di log, ma quanto sia questo impatto e’ una cosa su cui non posso pronunciarmi. Non sono io che ho fatto l’applicazione, non ho idea di come il database sia usato.
CL – Ma non siete voi i sysadmin?
IO – Si ma non siamo quelli che hanno scritto l’applicazione. Sono loro che sanno come il database viene usato e come e se le query possono essere ottimizzate. Io sono quasi sicuro che possano essere ottimizzate ma quali e come non e’ affar mio dirlo.
CL – Vabbe’, comunque sia attiviamo il loggin. Si puo’ fare oggi alle 12?
IO – …certo che si puo’ fare, ma io insisto che non bisognerebbe farlo, non sul database di produzione, bisognerebbe fare questi lavori sul database di TEST e poi, eventualmente, riportare le cose in produzione. C’e’ un sistema di test, usiamolo.
CL – Ma il mio programmatroto mi assicura che l’impatto non dovrebbe essere eccessivo e yada yada yada…

E va bene. Do’ un’occhiata al file di configurazione di postgres (standard come da distribuzione) abilito il logging delle query in modo da avere qualche informazione, poi alle 12 fermo tutte le millemila applicazioni, cambio il file di configurazione (facendomi una copia di quello originale), riavvio, faccio ripartire le applicazioni.

Dieci minuti dopo guardo e mi spavento: il file e’ cresciuto di 8 Gb.

Altri dieci minuti dopo mi ri-spavento quando mi rendo conto che le varie applicazioni che scrivono su questo coso sono passate da "lentissimo" ad "abominevolmente lento". Ed infatti altri 5 minuti dopo mi arriva la richiesta del CL di turno di "disattivare il profiling".

Ok, rimetti il file di configurazione come era prima, riavvia eccetera eccetera.

Quando dico "abbiamo un sistema di test: usiamolo", perche’ non mi danno mai retta? E adesso voglio vedere chi e’ che se lo analizza questa barcata di roba (15 Gb di log). Qualche cosa mi dice che quel qualcuno saro’ io… e qualche cosa mi dice che le mie raccomandazioni sul come fare o non fare le query verranno semplicemente ignorate. Chi e’ che scommette?

Davide

legenda personaggi

Articoli simili:

  • Facebook
  • Twitter
  • Delicious
  • StumbleUpon
  • Wikio
  • Reddit
  • Technorati
  • Segnalo
  • Live
  • Add to favorites
  • Email
  • RSS

 Lascia un commento

Puoi usare questi tag e attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(richiesto)

(richiesto)

Pinterest
EmailEmail
PrintPrint
%d blogger hanno fatto clic su Mi Piace per questo: