spk
23-01-2008, 20:01
Mi ritrovo fra le mani il classico server come da titolo
è un portale, completo di forum e vecchi post, quasi tutte le pagine sono ricche di script PHP
ora il problema è questo:
- le pagine della home, del forum e(mia ipotesi) qualunque altra dove si intrometta mySQL sono MOLTO lente ad aprirsi
informazioni sul carico di sistema:
- il server ha 3 giga di ram e non raggiunge la saturazione
- le pagine statiche rispondono immediatamente
- le pagine di test in puro PHP da me create, seppur molto pesanti (diciamo che ho provato qualcosa come 200000 logaritmi in un while) rispondono senza troppi acciacchi
- il benchmark tool ab (by apache) si comporta allo stesso modo descritto sopra a seconda della pagine richieste (a volte va addirittura in timeout sulle pagine con richieste mySQL)
secondo il principio di esclusione il colpevole sarebbe mySQL, difatti il database è abbastanza grosso. I principali accorgimenti quali query_caching sono già stati applicati (anzi, lo sono sempre stati) ma sto cercando il modo per capire effettivamente se la lentezza è dovuta alla grandezza delle tabelle, se dipende da altro e cosa posso fare per assicurarmene.
intanto sto preparando una pagina di test a manina con php+query mysql, ma così facendo so che andrò a tentativi e così non piace.
qualche consiglio?
è un portale, completo di forum e vecchi post, quasi tutte le pagine sono ricche di script PHP
ora il problema è questo:
- le pagine della home, del forum e(mia ipotesi) qualunque altra dove si intrometta mySQL sono MOLTO lente ad aprirsi
informazioni sul carico di sistema:
- il server ha 3 giga di ram e non raggiunge la saturazione
- le pagine statiche rispondono immediatamente
- le pagine di test in puro PHP da me create, seppur molto pesanti (diciamo che ho provato qualcosa come 200000 logaritmi in un while) rispondono senza troppi acciacchi
- il benchmark tool ab (by apache) si comporta allo stesso modo descritto sopra a seconda della pagine richieste (a volte va addirittura in timeout sulle pagine con richieste mySQL)
secondo il principio di esclusione il colpevole sarebbe mySQL, difatti il database è abbastanza grosso. I principali accorgimenti quali query_caching sono già stati applicati (anzi, lo sono sempre stati) ma sto cercando il modo per capire effettivamente se la lentezza è dovuta alla grandezza delle tabelle, se dipende da altro e cosa posso fare per assicurarmene.
intanto sto preparando una pagina di test a manina con php+query mysql, ma così facendo so che andrò a tentativi e così non piace.
qualche consiglio?