Ricerca in FOLBlog

[SdSM] PiAccaPorcatro…

 Scritto da alle 18:20 del 30/01/2009  Aggiungi commenti
Gen 302009
 
closeQuesto articolo è stato pubblicato 8 anni 9 mesi 20 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.

image

Grrrr…ricirisiamo.

Taaaaanto tempo fa, in una galassia cosi’ lontana che mi gira la testa solo al pensiero, esistevano i siti web. Che erano delle cose bellissime, dove qualcuno doveva scrivere della roba interessante. E tutti erano fatti in questo strambo “linguaggio” chiamato HTML, che un linguaggio non e’. Poi qualcuno penso’ “ehi! che succede se io faccio in modo che il web-server possa chiamare un programma in risposta ad una richiesta? cosi’ il programma puo’ fare qualche cosa e ritornare la sua risposta sotto forma di una pagina web”. E quello fu l’inizio della fine. Prima che tu potessi dire “load average” tutti i siti erano diventati dei mastodonti immani che facevano a gara a fare le cose piu’ astruse ed a chi ci metteva piu’ tempo per ritornare una miseranda paginetta al “visitatore”. Poi qualcuno ebbe il lampo di genio: lo scripting. Che e’ esattamente come prima, solo che invece di scrivere un programma uno scrive uno Script. Che deve essere pure interpretato prima che possa fare quello che deve fare.

All’inizio gli Script erano fatti in qualche cosa di strano come Perl, che solo coloro che sanno riuscivano a farci qualche cosa, poi un bel giorno, Microsoft, che non si era ancora liberata dal fascino di Basic si invento’ ASP, cioe’ lo scripting in VBScript. Poi venne la rivoluzione: arrivo il piaccapi’.

Adesso, basta che uno riesca a scrivere una roba come <?php print “hi”; ?> e subito puo’ scrivere “Programmatore PHP” sul curriculum. Il risultato? Una montagna, no di piu’, un planetoide di accrocchi sono stati riversati su una popolazione in cerca di ‘web-application’ come bocconi avvelenati tirati ad una muta di cani famelici.

Aho’, intendiamoci, non dico che tutti quelli che scrivono roba in PHP siano cerebrolesi da eliminare, e’ solo che, la mia percezione e’ che la qualita’ del software prodotto langue seriamente dietro alla quantita’, che sembra molto piu’ importante.

Ed oggi ne ho avuto l’ennesima conferma.

Uno dei nostri clienti ha 3 server, uno di questi viene usato per far funzionare una applicazione (scritta nel famigerato PHP) che viene usata da una serie di associazioni. Il server ha 6 o 7 vhost, ognuno dei quali ha una copia della famosa applicazione, con il suo database (si’ perche’ sviluppare una applicazione che sia multihost e’ troppo difficile, fare un bel copia/incolla invece…). Tale applicazione non e’ la solita fetecchia gratuita che ognuno puo’ scaricare installare e poi “personalizzare” applicando uno “stile” (che e’ identico a tutti gli altri stili che sono disponibili, cosi’ alla fine tutte le installazioni sembrano uguali), nooooo… e’ una applicazione commerciale. Il che significa che per fare il download, l’installazione e poi la ‘personalizzazione’ bisogna pagare. E poi ci si ritrova con una applicazione che e’ sostanzialmente identica a tutte le altre che sono in circolazione perche’ il foxxuto codice e’ sempre lo stesso. Comunque, un server (dual-core con un 4 Gb di ram) per 7 vhost e 7 copie della stessa applicazione. Non dovrebbe essere un problema no? Ma qui’ si parla di PiACCIdentiatePi’, che e’ come dire “JugoslAVA” riferito a $brancodipaguri.

Infatti stamani ricevo una bella mail dal nostro monitor che mi informa che il server non risponde piu’. Provo a collegarmi e risponde si, ma e’ di una lentezza obbrobriosa. Quando riesco, finalmente, a fare login e digito un bel ‘uptime’, mi risponde con la lentezza di una lumaca morta che il load average e’ di 109. Il che significa “no buono”.

Un bel ‘top’ mi dice che MySQL ed Apache stanno succhiando via il 100% del tempo di processore.

Ora, essendo questo PietosamenteACCrocchiatoProgramma, ho subito pensando che qualcuno stesse provando a fare qualche cosa di poco pulito, ma una ricerca nel log di apache non mi ha fruttato nulla di eclatante, se vogliamo escludere il fatto che, qualunque cretinata, compreso un .jpeg di 10×10 pixel, richiedeva una query al database per essere estratto ed infine spedito all’ansioso utente dall’altra parte di internet (ue’ sedicenti “piaccaprogrammatori”, mai sentito parlare di Caching?).

Dopo un po’ di madonne decido di agire proattivamente, faccio un bel reload di Apache e di MySQL e vedo il load average precipitare a 0 (vabbe’, che ti aspetti? Apache e MySQL sono le uniche cose che questo coso fa), il che mi conferma che il problema sta nella foxxuta applicazione.

Dopo aver raccolto un po’ di informazioni (apri la main page di quel coso ed il numero di query fatte sfiora il migliaio, carichi una Jpeg e la jpeg viene fuori dritta dritta dal database), ho preparato una bella mail per il CL in questione, cosi’ da prevenire una sua eventuale richiesta ed evitare lo stesso stallo che mi capito’ con la “libreria digitale”, con tutti i dettagli relativi al numero di richieste fatte al database, il carico del server, la ram eccetera eccetera.

Nel pomeriggio la situazione del server si normalizza, vedo il numero di richieste scendere quasi a zero ed il carico del processore assestarsi su un “normale” 3.2.

Il mattino dopo vedo che il server e’ di nuovo a palla e nello stesso tempo mi suona il telefono.

CL – Sono CL.
IO – Si’, devo supporre che tu mi chiami per $server, vero?
CL – Si’ infatti, che sta succedendo?
IO – Succede che quella chiavica di applicazione che usate non riesce a stare dietro ad un migliaio di richieste all’ora e si impalla, sovraccaricando il processore.
CL – Ma… come non riesce a stare dietro?
IO – Allora, se vai su $url, vedi le statistiche del server e vedi anche che durante la mattinata il numero di richieste medio e’ di circa mille all’ora ed il tempo di risposta e’ di una mezza giornata per richiesta. Al pomeriggio le cose si tranquillizzano ed il server risponde subito. Quindi e’ ovviamente un problema di sovraccarico.
CL – Hummm…. ma mi sembra strano…
IO – Senti, noi gestiamo il server dal punto di vista hardware ed OS, non software, cosa avete fatto ultimamente a quella macchina?
CL – Be’… abbiamo installato la versione X.Y dell’applicazione che avrebbe dovuto risolvere alcuni problemi di prestazioni…
IO – Ah… certo, le prestazioni sono cambiate drasticamente.
CL – Secondo te che si puo’ fare?
IO – Mah, io comincerei con il fare il downgrade alla versione precedente che mi sembra funzionasse molto meglio e poi magari vedere come si puo’ ottimizzare quell’affare. Voglio dire, non e’ possibile che per caricare UNA pagina mi fate piu’ di 1000 query al database.
CL – Ma l’applicazione non l’abbiamo fatta noi, e’ fatta da $accolitadiimbecilli.
IO – Si ma l’avete pagata no? E non avete supporto per quella cosa?
CL – Hummm… provero’ a vedere.

E ci siamo lasciati che lui avrebbe provato a domandare alla loro “esperta” del coso (si’ e’ donna). Io, piu’ per masochismo che per altro, ho provato a vedere il sito web di $accolitadiimbecilli. Il mio firefox e’ stato li’ in “waiting” per un bel 5 minuti 5 e poi mi ha risposto che “il server non risponde”, dopo un 4-5 tentativi finalmente mi becco una pagina che mi dice che “a causa di un upgrade sbagliato stanno avendo problemi di performance e di ripassare piu’ tardi”… Eating your own poisoned dog food are you?

Davide

legenda personaggi

Technorati Tags: Storie dalla Sala Macchine,humor

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: