• User Attivo

    Mysql Lento a caricare il sito

    Salve a tutti,
    Ho un sito web con circa 80.000 articoli.
    Il sito risulta lento quando ad esempio effettuo il login e cerco di scrivere qualcosa....

    Ovviamene il sito ha sempre funzionato così da anni, le query sono ottimizzate, e il database è relazionato, quindi non c'è inconsistenza dei dati...

    Avete qualche suggerimento ? non so magari qualche modifica al file mysql ? cache ? memoria ?
    Ah il tutto gira su server dedicato.

    Grazie


  • Moderatore

    Ciao,
    per quanto 80.000 articoli possano sembrare tanti, in realtà dovrebbero essere adeguatamente gestibili da un server dedicato scarico.
    Non conosco nel dettaglio la tua situazione ma le prime cose che mi vengono in mente sono:

    1. il database è sullo stesso server?
    2. hai provato a spostare le query "collo di bottiglia" in una stored procedure?
    3. le tabelle sono indicizzate?
    4. il sito è un CMS?

    Saluti


  • User Attivo

    Ciao,

    1. il database risiede sullo stesso server.
    2. Non ho afatto questa prova, ogni query impiega ms per essere eseguita
    3. Non ho capito cosa intendi.
    4. Il sito non è un cms ma scritto a mano in maniera procedurale (che passerò ad oggetti) in php versione 5.XX

    Ma la cosa strana che ho notato, è che gia dalla fase di login è lento (Quando metto user e password e premo accedi), non è costante il rallentamento, ma capita spesso...
    dovrebbe accadere su 80.000 articoli da gestire e non in fase di login che controlla tipo 100 utenti...

    Sto impazzendo


  • Moderatore

    Riguardo il punto 3: http://www.html.it/pag/32164/lottimizzazione/

    Il passaggio ad oggetti può aiutare, ma da quello che descrivi il problema potrebbe essere di altra forma.

    Purtroppo andrebbe fatta un'analisi approfondita per capire dove sono i colli di bottiglia e questo potrebbe essere un lavoro molto lungo.

    Per ora posso solo chiederti di assicurarti (usando ad esempio firebug o simili) che i tempi di risposta non dipendano da causa esterne come caricamento di fonti da altri server o peggio attacchi malware.


  • User Attivo

    Uhm... avevo già pensato a questa cosa, ma il problem mi si presenta in fase di login e non sempre.
    Non ho capito se sia un caso o cosa... ma non credo, perchè quando si presenta il problema in fase di login, se fai il logout e distruggi la sessione inizia ad essere veloce.

    Sul sito utilizzo le sessioni per il login.


  • User Newbie

    Mostra la codice che rende la query mysql (selezione) per fare il login.
    Quando si accede in voi e la selezione di elementi da visualizzare?


  • User Attivo

    Ho capito poco cosa hai scritto, comunque ecco la query anche se forse ho capito che il problema deriva da una versione di php non + idonea con funzioni obsolete come mysql_num_row
    [php]
    SELECT user, password, stato FROM redattore WHERE stato = 'enabled' AND user = '$user' AND password = '$password' LIMIT 1
    [/php]