Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    QUERY - E' possibile che sia cosi pesante?

    Salve a tutti,
    è da qualche gg che sto combattendo con un db mysql per ottimizzarlo al massimo ... qualche cosina sono riuscito a sistemare, ma il buon traffico del mio sito "purtroppo" sembra troppo per il mysql, che spesso, va in saturazione mangiando risorse e CPU della macchina.

    Tra tutte le query, sono riuscito ad inviduare quella in assoluto piu pesante, e per mia sorpresa, non è altro che una semplice select.

    Questo è il quadro della mia situazione:
    Il mio è un sito di community, e la query incriminata è in una pagina in cui non faccio altro che mostrare tutti gli utenti iscritti, con paginazione suddivisa per 10 record alla volta: ovvero questa: http://www.puntochat.it/amici/

    La query di quella pagina non è altro che:
    SELECT uid, nick, citta, descrizione, attivazione,foto FROM $tbl WHERE attivazione = '1' AND modificato != '-1' ORDER BY foto DESC, uid DESC LIMIT 0,13 ";

    Gli indici creati per quella tabella sono i seguenti
    PRIMARY PRIMARY 19003 uid
    sesso INDEX 3 sesso
    citta INDEX 121 citta
    foto INDEX 3 foto
    attivazione INDEX 3 attivazione
    modificato INDEX 3 modificato

    Il mysql che uso è un pò vecchiotto MySQL 4.0.18.

    Considerando che questa pagina mi mangia un buon 35% del totale delle risorse (un'enormità) e che le query al sec. si aggirano sulle 90-150 ...

    cosa posso fare per ottimizzare al meglio questa query?

    C'è qualche accorgimento che non ho preso o qualche errore fatto che mi fa pesare cosi tanto il tutto?

    Pensavo di installare l'mmcache ma, avendolo su altri siti, alla fine non mi farebbe fare quel salto di cui necessito.... e cmq ho paura che ci sia qualche errore nella struttura del db che ho fatto io. Boh

    Qualcuno sa darmi qualche dritta?

    Grazie
    Perchè uso Maxthon? | Mi piace questa chat

  2. #2
    piccolo up
    Perchè uso Maxthon? | Mi piace questa chat

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Provato a dare un'occhiata qui ?

  4. #4
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940

    Re: QUERY - E' possibile che sia cosi pesante?

    Originariamente inviato da Bukowski
    le query al sec. si aggirano sulle 90-150 ...
    540.ooo visitatori / ora ???

    [.:: JaguarXF ::.]
    __________________

  5. #5
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    La query nella pagina gira una sola volta o è all'interno di un ciclo e viene ripetuta più volte?
    Ci sono altre query nella pagina? Query dentro a cicli?

  6. #6
    potresti risolvere la cosa creando un piccolo sistema di cache delle pagine...

  7. #7
    @luca200
    Ottimo, non conoscevo questa funzione. E' molto utile, peccato che la documentazione, oltre quella ufficiale, in giro, sia pochissima ... e non è facilissimo capire come intervenire.
    E' sicuramente comodo per vedere quali indici il mysql usa nella risoluzione della query.

    @mark2x
    Ho parlato di query al secondo del db, mica di visitatori.

    @Teuzzo
    La query è singola, cosi come te l'ho postata. Non ci sono altre query nella pagina (tutte le altre cose dinamiche che vedi in realtà vengono riscritte statiche grazie ad un cron).

    @Corvo[666]
    Premesso il fatto che la CACHE delle query di Mysql è attiva e funzionante, come faccio a trovare soluzioni che mi cachano ancora di piu? Pensavi ad un mmcache et simili?

    Grazie a tutti
    Perchè uso Maxthon? | Mi piace questa chat

  8. #8
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da Bukowski
    @luca200
    Ottimo, non conoscevo questa funzione. E' molto utile, peccato che la documentazione, oltre quella ufficiale, in giro, sia pochissima ... e non è facilissimo capire come intervenire.
    E' sicuramente comodo per vedere quali indici il mysql usa nella risoluzione della query.
    Posta quello che ti esce

  9. #9
    Originariamente inviato da luca200
    Posta quello che ti esce
    table | type | possible_keys | key | key_len | ref | rows | Extra
    utenti | range | attivazione | attivazione | 4 | NULL | 18774 | Using where; Using filesort

    Ora come posso trarre vantaggio da queste info?

    Grazie mille
    Perchè uso Maxthon? | Mi piace questa chat

  10. #10
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Mi posti anche i tipi di campo?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.