Tales from the Machine Room


Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Login/Register

More is not always better

Ritorniamo a parlare di $allupati, di cui ho gia' detto fin troppo. Ora, dopo le ultime malefatte i signori hanno deciso di "cloudizzarsi" (cosi' ha detto l'ul di turno), il che significa nella sua testa (bacata) di spostare alcune funzioni dell'applicazioni in un qualche servizio web ospitato sa dio dove.

Dopo un paio di test con la versione di test dell'applicazione le cose sembrano andare bene ed il tutto viene riportato in produzione, se non vi ricordate questi sono quelli che avevano cominciato con 6 (sei) application server, poi sono passati ad averne 10 (dieci) ed adesso, dopo qualche 'problemino' di carico sono arrivati ad avere 12 (dodici) server di produzione.

Ok, in effetti sarebbero 14, ma due sono sganciati dal load balancer per una serie di ragioni che adesso non riporto perche' senno' mi viene da bestemmiare solo al pensiero...

Comunque sia, dodici server di produzione.

In ogni caso, i signori fanno qualche test con l'ambiente di test (appunto) e paiono soddisfatti dei risultati, cosi' un bel martedi' mattina facciamo il mega rilascio su tutti i 14 server di produzione e cominciano i guai.

Nel giro di 10 minuti i vari server di produzione cominciano a diventare di un lento da far paura. Tempo addietro avevamo aggiunto una specie di 'watchdog', se la risposta del server diventa troppo lenta il servizio viene riavviato, Questo perche' i vari programmatroti non erano molto capaci di gestire cose come garbage collection. Con il risultato che una applicazione lenta era molto spesso una applicazione sul punto di incartarsi per mancanza di memoria.

Il guaio e' che quella "brillante soluzione" (come l'aveva definita DaBoss, ignorando il mio commento che la soluzione avrebbe brillato di piu' se fosse stata "correggere gli errori nell'applicazione del ca$$o") adesso e' diventata un'arma a doppio taglio, con entrami i lati puntati verso di noi: il sistema e' talmente lento che tutti i server si riavviano uno dopo l'altro e la possibilita' di beccare un errore e' praticamente 1 su 1.

Ovviamente dopo 10 minuti abbiamo $allupati al telefono. Che ovviamente non sono contenti della situazione.

Dopo un po' di tira e molla riesco a convincere l'UL di turno a fare un bel roll-back e ritornare alla versione dell'applicazione precedente. Loh and Behold, tutto funziona in maniera perfetta. Ok, che roba e' cambiato tra la versione vecchia (che funziona) e qualla nuova che si inchioda? A parte un paio di cambiamenti di nessuna importanza, il nuovo web-servizio ovviamente.

Hummm... fatti un girello nei vari log e scopri che quel web-servizio viene chiamato nel 98% delle richieste! Ed eccoti risolto l'arcano: il webservizio del menga e' piu' lento di un bradipo stanco, ergo, tutto il sistema diventa dipendente da l'ennesimo collo di bottlglia/single point of failure. Quando quello diventa troppo lento e cessa di rispondere, l'intero sistema si siede per terra.

DB - Ma cosa possiamo fare?
IO - Noi? Noi non possiamo farci un tubo, se questa gente (mi riferisco a quelli che gestiscono il web-disservizio) non riescono a gestire questo carico di attivita' (che non e' neanche elevato oggi, aspetta la newsletter di domenica e voglio vederti) non e' che ci possiamo fare molto.
DB - Ma se noi per esempio...
IO - Si?
DB - Aggiungessimo un paio di server dalla nostra parte? Non so... un'altra dozzina per esempio...
IO - Quajo! Il problema cosi' lo peggiori e basta. Se si tratta di un eccesso di carico, aggiungere server dalla nostra parte significa aggiungere client alla loro parte, quindi peggiorare il loro carico e non migliorarlo.
DB - Ma noi dobbiamo risolvere il problema!
IO - Lo abbiamo gia' risolto: non usare il web-disservizio, se loro vogliono per forza utilizzarlo dovranno discutere con quelli che lo forniscono di avere una minima capacita' riservata.
DB - Ma se noi aggiungessimo una mezza dozzina di server...

Qualche cosa mi fa pensare che voglia vendergli un'estensione dell'hosting.

Davide
30/01/2012 08:00

Previous Next

Comments are added when and more important if I have the time to review them and after removing Spam, Crap, Phishing and the like. So don't hold your breath. And if your comment doesn't appear, is probably becuase it wasn't worth it.

17 messages this document does not accept new posts
Inc0 By Inc0 - posted 30/01/2012 09:19

Sembra una scena presa da "Home Improvement" (in italia noto come "quell'uragano di papà": "cosa ci serve?" "più potenza!" :D

--
KNOWLEDGE IS POWER


Guido By Guido - posted 30/01/2012 09:20

Lunedì mattina, primo giorno di lavoro come Sviluppatore Java.

Leggo la tua storia e: HUAHUAHUAHUAHUAHUA

 

 

grazie Davide!!!

 

--
Guido


Anonymous coward By Anonymous coward - posted 30/01/2012 09:28

DB - Ma cosa possiamo fare?

DB - Ma se noi per esempio... Aggiungessimo un paio di server dalla nostra parte? Non so... un'altra dozzina per esempio...

DB - Ma noi dobbiamo risolvere il problema!

DB - Ma se noi aggiungessimo una mezza dozzina di server...

lasciami solo con lui. lui io e il mio badile.

--
Anonymous coward


Anonymous coward By Anonymous coward - posted 30/01/2012 11:16

D'altronde, come biasimare il buon vecchio DaBoss... se sono stupidi come sassi, gli intelligenti hanno il diritto e il dovere morale di abusarne, succhiandone tutto il guadagno possibile. Come peraltro hanno già fatto tutti i programmatori che hanno lavorato al progetto.

Quello che manca è solo una scusa plausibile per potergli vendere altri 6 server.

--
Anonymous coward


Kurgan By Kurgan - posted 30/01/2012 11:46

Alla fine quanti altri server gli avete venduto? 12? Di piu`? Del resto anche spennarli non e` male come strategia.

Che poi questa cosa dei servizi esterni che non vanno mi ricorda tanto il fatto che oramai qualsiasi sito web "2.0" si appoggia a servizi di nota serieta` professionale, quali per esempio quelli di Facebook. Ne ho visto uno che usava Facebook per hostare delle foto... ma dico, metterle sul disco del tuo server no, eh?

--
Il massimo danno con il minimo sforzo


Anonymous coward By Anonymous coward - posted 30/01/2012 12:39

>Aggiungessimo un paio di server dalla nostra parte?

>Non so... un'altra dozzina per esempio...

 

quindi per il tiuo capo 2 == 12. Fico. Un'aggirnatina al CV?

--
Anonymous coward


Messer Franz By Messer Franz - posted 30/01/2012 13:54

OK, queste storie sono in "ritardo" , cioe' tu scrivi (esempio) a giugno  noi leggiamo a dicembre.

Quindi cio' che dico potrebbe essersi anche gia' avverato.

Tuttavia....MA QUAND'E' CHE TI CERCHI UN NUOVO LAVORO?????

mi pare che il carico di stress (anche se per cause diverse) si ai livelli di "branco di paguri"....e non mi pare ti paghino abbastanza per sopportarlo senza nessun problema....

--
Messer Franz


Anonymous coward@ Messer Franz By Anonymous coward - posted 31/01/2012 09:32

>mi pare che il carico di stress (anche se per cause diverse) si ai livelli di "branco di paguri"....e >non mi pare ti paghino abbastanza per sopportarlo senza nessun problema....

senza contare che sono passati almeno 10 anni da "branco di paguri" e il nostro comincia ad avere i suoi annetti sul groppone, quindi anche il fisico comicia ad essere meno resistente. Sarebbe ora di cercare un posto in un ISP in un clima piu' temperato...

 

--
Anonymous coward


Davide Bianchi@ Anonymous coward By Davide Bianchi - posted 31/01/2012 12:41

e il nostro comincia ad avere i suoi annetti sul groppone, quindi anche il fisico comicia ad essere meno resistente.


Modo carino e gentile di dire che sto diventando vecchio...

Sarebbe ora di cercare un posto in un ISP in un clima piu' temperato...

Parli di clima meteoreologico o clima tecnologico?

--
Davide Bianchi


Anonymous coward@ Davide Bianchi By Anonymous coward - posted 31/01/2012 22:15

 

e il nostro comincia ad avere i suoi annetti sul groppone, quindi anche il fisico comicia ad essere meno resistente.

Modo carino e gentile di dire che sto diventando vecchio...

Guaglio', ti seguo fin da quando un certo idiota avvito' il portatile al tavolo, per cui, come invecchi tu, invecchio pure io, eh.

Sarebbe ora di cercare un posto in un ISP in un clima piu' temperato...

Parli di clima meteoreologico o clima tecnologico?

Metereologico. I fessi sono ovunque, tanto vale sopportarli in calzoncini e infradito, al posto di doposcii e giaccone. Minori spese di abbigliamento e niente reumatismi. Mica poco, a pensarci bene.

Comunuque, a giudicare dalle risposte sempre meno diplomatiche e sempre di piu' "quasi-vaffanculo" che dai al tuo capo, il tasso di sopportazione si vede in forte decrescita  e considerando il ritardo con cui vengono pubblicate le storie, ho il forte sospetto che ora sei gia' in altro ambito lavorativo. Al massimo, ti do altri 18 mesi, non di piu'.

--
Anonymous coward


Alberto By Alberto - posted 30/01/2012 14:34

E se fossero i web service provider, a buttare più hardware contro il vostro problema?

 

smiley

--
Alberto


Zanna By Zanna - posted 30/01/2012 22:17

No scusa, saranno anche $allupati ma o gestiscono una mega catena di porno shop in quel di Amsterdam oppure sono la NASA perchè 12 server di produzione non sono una cosa propriamente normale per un cliente "medio".

--
Zanna


Anonymous coward By Anonymous coward - posted 31/01/2012 00:20

Giusto giusto in questi giorni un collega ha chiesto che gli venisse messo a disposizione "dell'hardware più potente", magari con Oracle, perché doveva eseguire una query su un database MySQL che si era creato (qualche GB di roba, e poche decine di milioni di righe per la tabella più grande in gioco) e sul suo sistema i tempi erano nell'ordine dei *giorni*.

Dopo avergli fatto notare che non era un problema di hardware (MySQL girava su un Core i7 quad core con 8GB di RAM...) e vari suggerimenti poco presi in considerazione, ho fatto girare il tutto in una VM con suppergiù lo stesso "hardware" dopo aver ottimizzato MySQL, schema e query. Risultato: query eseguita in 27 secondi con il database appena avviato. Con un po' di dati già in cache ci mette 5 secondi...

Certo, ad avere avuto una mezza dozzina di server a disposizione... forse sono fesso io, potevo approfittarne per far compare un nuovo cluster Oracle di sviluppo al prezzo di una query MySQL...

--
Anonymous coward


Anonymous coward@ Anonymous coward By Anonymous coward - posted 01/02/2012 00:27

ho fatto girare il tutto in una VM con suppergiù lo stesso "hardware" dopo aver ottimizzato MySQL, schema e query.

 

Ahime`, purtroppo non sempre queste cose si possono risolvere ottimizzando la query (e.g. da noi una query generata da un applicativo di nostra produzione su MySQL impiegava un'ora e mezza, su Oracle 5 minuti e no, all'epoca non si poteva mettere mano all'applicativo)

 

Certo, ad avere avuto una mezza dozzina di server a disposizione... forse sono fesso io, potevo approfittarne per far compare un nuovo cluster Oracle di sviluppo al prezzo di una query MySQL...

Beh, da noi fu la risposta del capo sviluppo ad un problema di carico: per reggere qualcosa come 300 utenti, invece di modificare le query generate dall'applicativo, chiese di dedicare 64Gb di RAM a tomcat (ovviamente la cosa si risolse con meno spargimento di sangue e con una modifica coatta all'applicativo)

Enrico

--
Anonymous coward


spacexplorer By spacexplorer - posted 31/01/2012 08:09

L'idea di riavviare in automatico è *brillante*, l'incendio di chi la ha

avuta da parte di Simon fa luce eccome, specie se di venerdì sera :-\)

--
spacexplorer


Anonymous not-so-coward By Anonymous not-so-coward - posted 31/01/2012 10:08

Qualche cosa mi fa pensare che voglia vendergli un'estensione dell'hosting

 

Qualche cosa mi fa pensare che una delle tue prossime storie riguarderà proprio la messa in servizio di altri 12-14 server, con conseguente verificarsi della tua predizione di peggioramento. Spero almeno che entri in gioco una bella discussione con i programmatroti, così ci facciamo qualche risata con i dialoghi tra te e loro.

--
Anonymous not-so-coward


Anonymous quadpumped coward By Anonymous quadpumped coward - posted 03/02/2012 14:51

Mi viene in mente un certo J.C. che è appassionato di auto. La cui risposta a tutto è...

"POWEERRR"

N'do 'zzo vai se non sai che fartene della potenza?

A fancubandia?

--
Anonymous quadpumped coward


17 messages this document does not accept new posts

Previous Next


This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.


This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.

This site isn't optimized for vision with any specific browser, nor it requires special fonts or resolution.
You're free to see it as you wish.

Web Interoperability Pleadge Support This Project
Powered By Gojira