Newsgroup: it.comp.www.php
Titolo: problema php e sito dinamico

ho un problema con un sito dinamico in php che ho fatto,
il problema è questo:
- alcune volte quando accedo al sito ad una data pagina (ho circa 10mila 
pagine...)
il server impiega anche 10 secondi a rispondere.
- nel 70% dei casi invece il server risponde con un solo secondo di ritardo 
(e
stiamo parlando della stessa pagina, non su pagine differenti).
c'è qualcosa che non quadra, può succedere che se due persone differenti 
accendono alla
stessa pagina qualche script php vada in tilt?
il php quando viene eseguito viene eseguito come un processo isolato e 
parallelo giusto?
come posso scoprire dove si blocca il php o il server?
sembra quasi che sia un problema di accesso  simultaneo sugli stessi 
script...
o magari si pianta il server sql... il sito usa molte query sql...
ringrazio tutti

aggiungo anche che ho circa un 50 pagine che google mi indica come non 
accessibili (tramite strumenti per il webmaster...)
ma in realtà le pagine esistono!
penso che ogni tanto capiti questo problema che se accedo ad una pagina il 
server non risponde...
non so perchè...
o è l'sql server o qualche codice sbagliato nel php...

 o magari si pianta il server sql... il sito usa molte query sql...
Ecco. Hai fatto un po' analisi degli execution plan delle query, per
ottimizzare gli indici?
bye!

 o magari si pianta il server sql... il sito usa molte query sql...
<Ecco. Hai fatto un po' analisi degli execution plan delle query, per
<ottimizzare gli indici?
<bye!
proverň ad anlizzare le query, ma il problema č che se clicco 10 volte sulla 
stessa pagina
succede che 9 volte la pagina viene visualizzata in 1 secondo ed una volta 
capita che il server si pianti...
e impiega anche 20 secondi a rispondere... proprio come se si fosse bloccato 
(starvation o qualcosa del genere)
ti ringrazio per le risposte.

 ha scritto nel messaggio 
news:m1xul.284118$FR.5...@twister1.libero.it...

ho trovato nelle info del mio database sql questo:
Select_full_join   1,599   Il numero di joins che non usano gli indici. (Se 
questo valore non č 0, dovresti controllare attentamente gli indici delle 
tue tabelle.)
esattament ecosa dovrei verificare negli indici delle mie tabelle?

 (starvation o qualcosa del genere)
C'e' solo la tua applicazione su quel server o ce ne sono anche altre?
bye!

 esattament ecosa dovrei verificare negli indici delle mie tabelle?
Che esistano gli indici corretti. Detto in due parole, se fai un join
su un campo "codice articolo" di una tabella, devi aver definito un
indice su quello stesso campo o avrai prestazioni pessime.
bye!

 (starvation o qualcosa del genere)
<C'e' solo la tua applicazione su quel server o ce ne sono anche altre?
<bye!
ci sono altre applicazioni ma sono del gestore del server.
sono su di un server con ip fisso ma che ha più siti al suo interno...
però non conosco esattamente tutti i processi in esecuzione sul server,
non so come gestiscano questo server...
però sul mio dominio ho solo un sito. 

 eseguito viene eseguito come un processo isolato e parallelo giusto?
Ci sono troppe variabili in gioco, per capire esattamente cosa sta 
succedendo.
Escluderei il discorso "andare in tilt", se il sistema e` correttamente 
aggiornato, e analizzerei il resto.
Come ha gia` detto Hermooz, il problema potrebbe essere una query 
particolarmente pesante in MySQL.
Ma, per esempio, apache ha delle impostazioni su quanti client servire 
contemporaneamente. Se il totale, tra i tuoi siti e tutti gli altri che 
girano su quel server, in quel momento supera quel limite, gli altri 
vengono accodati. Il parametro e` MaxClients di Apache.
Anche MySQL ha un limite di connessioni. Se ce ne sono troppe aperte, le 
altre vengono messe in coda o respinte. Anche qui e` un parametro globale 
a livello di server, e non di sito o di script. Non mi ricordo il nome 
del parametro.
Se il server e` Linux, ci sono altri limiti di sicurezza che il S.O. 
impone ai processi. Per esempio (come si e` discusso di recente su 
icol.software) c'e` un limite che di default e` 1024 sui file aperti da 
un processo. Se apache gestisce molti accessi e molti file di log si 
supera abbastanza presto.
Potrebbero esserci anche altri limiti, ma intanto controllerei questi.
Bye.

 non so come gestiscano questo server...
Allora c'e' poco da discutere: il rallentamento può benissimo essere
causato dalla concomitanza con altri processi che assorbono le risorse
di Apache e/o del DB. Non è assolutamente detto che tu possa farci
qualcosa :^(
bye!

pesante...
a questo punto è probabile che non dipenda da me...
vedremo il da farsi sul lungo periodo.