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

    mysql_pconnect non è "P"

    Salve a tutti

    Ho impostato all'inizio della mia pagina una mysql_pconnect, in modo da "risparmiare" le connessioni al db...

    Il problema è che al cambio pagina, o al load di un div tramite jquery, devo obbligatoriamente inserire un altra mysql_pconnect (o anche mysql_connect) altrimenti non ho nessuna connessione al DB

    Esiste un modo x far sì che ogni utente si connetta una sola volta al DB e che la connessione resti attiva fino a quando non abbandona il sito?

  2. #2

    Re: mysql_pconnect non è "P"

    Originariamente inviato da GS 7.0
    Salve a tutti

    Ho impostato all'inizio della mia pagina una mysql_pconnect, in modo da "risparmiare" le connessioni al db...

    Il problema è che al cambio pagina, o al load di un div tramite jquery, devo obbligatoriamente inserire un altra mysql_pconnect (o anche mysql_connect) altrimenti non ho nessuna connessione al DB
    Si, perche' e' cosi' che funziona mysql_pconnect:
    First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.
    quindi devi comunque sempre chiamare la funzione.

    Originariamente inviato da GS 7.0
    Esiste un modo x far sì che ogni utente si connetta una sola volta al DB e che la connessione resti attiva fino a quando non abbandona il sito?
    Generalmente non e' una buona idea, a meno che tu non sappia molto bene quello che stai facendo: se non fai attenzione con il tuning del server potresti avere prestazioni MOLTO peggiori:
    Warning

    Using persistent connections can require a bit of tuning of your Apache and MySQL configurations to ensure that you do not exceed the number of connections allowed by MySQL.
    In breve: evita le connessioni permanenti.

  3. #3
    diciamo che ho una media 1.000 query al secondo, il 20% di queste è dato da mysql_pconnect e mysql_select_db...

    x questo volevo impostare delle connessoni permanenti, così da "tagliare" un po' di chiamate al db...

    altrimenti hai altre soluzioni? xke ho tanti utenti che si connetto al sito - ed è un bene - ma tutte ste connessioni "inutili" dopo un po' si fanno sentire

  4. #4
    La soluzione piu' usata e piu' efficace in generale e' il caching. Poi dipende dalle tue esigenze.

  5. #5
    Altra domanda...

    Meglio fare

    mysql_select_db($db,$conn); [è nella pagina di connessione, quindi ogni volta che lancio mysql_pconnect si lancia anche mysql_select_db

    o meglio, per "tagliare" le query, fare

    select nome_campo from database.tabella ?

  6. #6
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    visto che non mi è mai capitato di usare connessioni persistenti, anche usando mysql_pconnect(), se le query sono 1000 da differenti utenti vengono aperte 1000 connessioni differenti, giusto? in questo caso che senso ha utilizzare la connessione persistente?
    In ogni caso, in cosa si differenzia da una connessione "tradizionale"?

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  7. #7
    Originariamente inviato da k.b
    La soluzione piu' usata e piu' efficace in generale e' il caching. Poi dipende dalle tue esigenze.
    il caching è già attivo

  8. #8
    Originariamente inviato da GS 7.0
    Altra domanda...

    Meglio fare

    mysql_select_db($db,$conn); [è nella pagina di connessione, quindi ogni volta che lancio mysql_pconnect si lancia anche mysql_select_db

    o meglio, per "tagliare" le query, fare

    select nome_campo from database.tabella ?
    No non ha senso, il guadagno e' inesistente. Seleziona sempre il database.

  9. #9
    Originariamente inviato da oronze
    visto che non mi è mai capitato di usare connessioni persistenti, anche usando mysql_pconnect(), se le query sono 1000 da differenti utenti vengono aperte 1000 connessioni differenti, giusto? in questo caso che senso ha utilizzare la connessione persistente?
    In ogni caso, in cosa si differenzia da una connessione "tradizionale"?
    La differenza e' che le connessioni persistenti non vengono chiuse al termine dell'esecuzione dello script e rimangono a disposizione di successive richieste, risparmiando il costo di chiusura/riapertura.

  10. #10
    Però queste connessioni non sono persistenti..

    ho fatto un log di 1 ora di attività... di 2,5 M di query registrate il 10% è di mysql_connect e select_db...

    Già il fatto che abbia 2,5 M di query in un ora lascia capire quanto il sito lavori, ma capirai la mia esigenza dnni tagliare il tagliabile... e quelle query di connessione e selezione DB appensantiscono di molto il mysql in generale... Per questo cercavo un modo x avere un unica connessione al DB x utente...

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.