[Tech] Prestazioni LAMP

Marco Marcantelli (kaifa) kaifa_mm@tin.it
Mar 16 Maggio 2006 17:54:01 CEST


> Aldo Podavini wrote:
> 
> > Umh...
> >
> > Marco Marcantelli (kaifa) wrote:
> >
> >> Perchè se io apro un browser e lo punto su una applicazione fatta in PHP
> >> (quindi lato server) che fa una select su un database Mysql con una 
> >> limit a 15
> >> records,  se ho 500 righe di database ci metti 1/10 secondo e se ho 
> >> 100.000
> >> righe di database ci mette 10 secondi.  
> >>
> > In locale o in remoto ?
> > Ti posso assicurare che una query limit 15 su una tabella da 100.000 
> > righe NON DEVE metterci 10 secondi.
> > La risposta che ci si può attendere in locale su una macchina x386 e 
> > anche in assenza di indici adeguati, con dimensioni di un record 
> > nell'ordine delle decine-centinaia di bytes è nell'ordine di 1/2 
> > decimi di secondo.

........ i tempi che ho detto non sono reali sono solo per dare una
proporzione ... se serve prendo i tempi e li posto ...

> 
> Leggendo la giusta risposta di Francesco F mi è venuto in mente che 
> in effetti tu non avevi specificato che si trattasse di una query su 
> una sola tabella. Ti suggerisco di fare una EXPLAIN sulla query incriminata:
> 
> EXPLAIN [query];
> 
> te ne mostrerà eventuali debolezze prestazionali.
> Fermo restando tutto il resto.


La query e' semplicissima, qualcosa tipo :

select from * from tabella limit 15 ;

Ma al di là delle prestazioni di Mysql è altro che non mi torna :

Eseguendo la stessa query, con gli stessi dati, con gli stessi risultati
(identica paginetta di 15 righe), da un browser, perchè se lo faccio da una
rete locale i tempi sono minimi e se lo faccio con in mezzo un modem a 56K i
tempi si allungano in modo enorme ? Ma non dovrebbe girare il tuttto sul
server (apache+php+mysql) ? e quindi essere indipendente dalla connessione che
uso ? E' questo che non mi torna ..... 

  
                                                  Grazie 




Maggiori informazioni sulla lista flug-tech