[Verdebinario] assistenza gasdotto

Giuseppe De Marco peppelinux a yahoo.it
Mar 24 Maggio 2011 09:25:35 CDT


>ragazzi, dopo tutti gli scambi tecnici ciotoverdiacari...

> gasdotto funzia?

Irè la risposta è sì, funziona, ma non ci siamo, perlomeno non come servizio 
all'utenza finale.
Io accedo a GasDotto e riesco, seppur con lunghe attese, a lavorarci. Ma alle 
volte devo interrompere tutto e ricaricare tutta la pagina. In poche parole è 
quasi inutilizzabile.

Gli errori che riporta vanno e vengono e dipendono da due fattori:

1) la lentezza che il server ha nel rispondere alle MILLE chiamate che il codice 
javascript di gasdotto compie (In questo dobbiamo ammettere che GasDotto è stato 
programmato in modalità masochismo, versione hard-coded). 

Spiegazione:
Per caricare l'Home Page Vengono compiute 20 chiamate (in POST) al nostro 
Server. Per ognuna di queste la connessione con Apache avviene in meno di 200ms 
ma, il tempo che impiega Apache/PHP a processare la richiesta va, per oguna di 
queste, dai 3,48 secondi ai 6.73 secondi. Il risultato è che per caricare 
interamente la pagina occorrono 2,23 minuti circa.

2) Javascript, ovvero, il costruttore dei dati e l'interfaccia di GasDotto, 
riempie quasi tutte le sue variabili con queste chiamate. Se una di queste 
dovesse fallire per "tempo massimo di risposta del server esaurito" Javascript 
si ritrova la variabile vuota e riporta i fatidici messaggi: "c is null" &co.

Allo stato attuale abbiamo due problemi:

1 è nostro. Ovvero, perchè Apache si comporta così ? (l'abbiamo configurato noi 
per limitare le risorse oppure è una condizione che si verifica solo quando 
abbiamo a che fare con software farlocco)
2 è dell'utenza finale. Che a causa di questo andazzo non riesce ad usare il 
servizio.

In merito ai precedenti dubbi sui contenuti statici:
I contenuti statici vengono scaricati in una manciata di millisecondi, il 
problema è PHP. I metodi che causano lentezza sono tutti POST.

Vi faccio questo esempio. Javascript richiede a questo indirizzo:

http://www.utopiesorridenti.com/gasdotto-2.0.1/gasdotto/server/server.php?action=get


i seguenti parametri (con metodo POST):

{"type":"Measure", "has":[]}

il nostro server risponde, dopo 6,43secondi, con:

[{"type":"Measure","id":"1","name":"Non 
Specificato","symbol":"?"},{"type":"Measure","id":"2","name":"Chili","symbol":"kg"},{"type":"Measure","id":"3","name":"Litri","symbol":"l"},{"type":"Measure","id":"4","name":"Pezzi","symbol":"pezzi"}]


Ora anche se sia la richiesta che la risposta contengono molti, e dico, molti 
più dati (come ad esempio l'intera anagrafica degli utenti registrati), il 
nostro Server sempre 6 secondi impiega nel rispondere. 

Questo è il nostro problema con GasDotto.
Il problema, invece, all'utenza, che a causa di queste lentezze, ad alcuni di 
loro viene interrotta bruscamente la connessione o và in timeout.




Maggiori informazioni sulla lista Verdebinario