[Verdebinario] assistenza gasdotto
Giuseppe De Marco
peppelinux a yahoo.it
Mer 25 Maggio 2011 10:00:37 CDT
la prima chiamata che GASdotto.html fà (POST) a server.php dura, in attesa di
risposta, circa:
373ms -> BUONO, ovvero ONESTO
dopo il login ne segue un'altra che va decisamente "subito". Quando inizia a
caricare l'interfaccia invece sopravviene la morte:
4.3 secondi e via via il resto delle chiamate raggiungono gli oltre 6 secondi
fino a 8.14 secondi. Stavolta c'è stata una chiamata che è stata in "pending"
per 1306 secondi prima di ricevere i dati !
L'analisi che sto conducendo mi fà credere che la chiamata a PHP (server.php),
ovvero la prima, è veloce ed è l'unica che non usa la connessione verso la
basedati.
Inoltre abbiamo una spiacevole sorpresa. Il cursore SQL è inizializzato con i
Drivers PDO (ovvero i drivers più lenti della storia di PHP, più lenti di adodb
e odbc)
try {
$db = new PDO ( $dbdriver . ':host=' . $dbhost . ';dbname=' .
$dbname . ';port=' . $dbport, $dbuser, $dbpassword );
return true;
}
Ora sappiamo che PHP-CGI fà caricare e rinizializzare , ad ogni chiamata, la
caterba di classi ed oggetti che PDO introduce. Il modulo che avrebbe mantenuto
in memoria buona parte ma in soldoni la musica non è cambiata di molto.
Analisi Su altri hosting presi a casaccio:
kbyte.ciotoni.net/portal: i contenuti statici scaricano subito, il GET sulla
vista /portal (PHP) impiega circa 7 secondi
kbyte.ciotoni.net/ecommerce/magento: il GET su PHP impiega 8.87 secondi per
caricare (20 secondi per caricare la pagina di magento con tutti i contenuti
statici)
www.verdebinario.org: anche lui fà un'unica chiamata a PHP (GET) impiega dai 7
ai 10 secondi
...su gasdotto, con una media "buonista" di 6.30 secondi la pagina impiega
126minuti a caricare.
La conclusione a tutto questo è:
PHP-CGI è sicuramente più sicuro del modulo. Non ha memoria condivisa, nè
sessioni, nè sfrutta, di conseguenza la cache interna. Però ad ogni chiamata è
costretto a ricaricare tutte le configurazioni e reimportare le librerie di PHP
e una chiamata ci costa dai 4 ai 14 secondi. Ora mi preme dirvi che anch'io
preferisco, in produzione, la configurazione attuale perchè conosco i mali
estremi e gli estremi rimedi.
Ora sappiamo che con un software tipo GasDotto questa condizione è esasperante.
L'unica soluzione che abbiamo per risolvere il problema è spostarlo di sana
pianta su un mini-webserver ad-hoc (cherokee, NgineX...) e farlo raggiungere
tramite mod_rewrite, di Apache, a destinazione. Oppure mettere in chiaro le cose
a stefano e dirgli che non abbiamo le risorse necessarie per ospitare questo
servizio, anche perchè lasciare le cose così è un vero peccato.
Bacinis
Maggiori informazioni sulla lista
Verdebinario