Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [MYSQL] Quanti utenti riesce a sopportare?

    Ciao sto facendo una sorta di chat con Flash/PHP/MySql ma mi sono accorto, testandolo da casa, che se aprivo 6 connessioni al database con 6 nomi diversi, questo cominciava ad andare lentissimo. Forse sbaglio qualcosa io o MySql non supporta più di un certo numero di utenti che fanno query?

    forse sarà a causa del refresh della chat che via Flash ho usato mettere un
    loadVariablesNum ("read.php", 0, "POST"); ogni mezzo secondo.
    sarà quello?
    consigli per un refresh meno pesante?

    Nel file read ho scritto questo codice:
    Codice PHP:
    &inp=
    <?
    $con 
    mysql_connect("localhost","user","pass");
    if (!
    $con){die('Could not connect: ' mysql_error());}
    mysql_select_db("chatm"$con);

    $idp stripslashes($_POST['id']);
    $result mysql_query("SELECT * FROM Chat
    WHERE id='
    $idp'");
    while(
    $row mysql_fetch_array($result))
    {echo 
    $row['Username'];
    echo 
    ": " ;
    echo 
    $row['Text'];
    echo 
    "^" ;
    echo 
    $row['id'];echo "^" ;
    }
    ?>

  2. #2
    up, nessuno ne sa nulla?

  3. #3
    Originariamente inviato da lorenz82
    up, nessuno ne sa nulla?
    credo che in crisi ci vada il client con 6 finestre aperte ed il refresh via flash ogni mezzo secondo.

    mysql di standard ha 100 connessioni "contemporanee" il che significa una enormita' di tempo libero rispetto a quello che chiedi tu.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    il fatto è che ogni secondo ogni utente carica circa 10 php e ogni php ha il

    Codice PHP:
      $con mysql_connect("localhost","user","pass");
      die(
    'Could not connect: ' mysql_error());
    mysql_select_db("db"$con); 
    non c'è un modo per farlo connettere una sola volta al db e poi con gli altri php usare solo le query senza per forza farlo connettere ogni volta.
    forse con l'html si può ma con FLASH?

  5. #5
    non capisco granche' di quello che fai. Manco vedo il senso di un refresh ogni mezzo secondo. E' piu' veloce il tempo del refresh di quello del download della pagina.

    Poi che cosa sono/significa 10 php al secondo? Ogni pagina apre e chiude la connessione, potresti usare pconnect (connessione permanente) ma non cambierebbe quello che vuoi fare. Cosa sono gli altri php ???

    Le prove dovresti farle da 10 CLIENT differenti (10 pc) , e non da 10 finestre dello stesso browser. Il collo di bottiglia nel tuo caso e' la connessione client server.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Il mio problema è il seguente:
    Vorrei fare una sola connessione globale senza dovermi connettere ogni volta al DB, ho provato con pconnect ma non funziona.
    in pratica i PHP sono questi, sono 5 non 10 ho appena controllato:

    1) si collega al db
    2) quando scrivo un messaggio ritorna a collegarsi al db e scrive su una tabella
    3) si ricollega al db e scrive sulla tabella degli utenti online
    4) ogni mezzo secondo controlla se qualcuno ha scritto qualcosa sul db connettendosi
    5) ogni mezzo secondo si collega al db e controlla se è entrato qualcuno

    tutti questi 5 PHP cominciano con

    Codice PHP:

    $con 
    mysql_connect("localhost","user","pass");
    die(
    'Could not connect: ' mysql_error());
    mysql_select_db("db"$con); 
    sarà questo che mi rallenta il tutto? come posso fare per collegarmi una sola volta e basta?

  7. #7
    se per php intendi una pagina di script, allora ogni pagina apre e chiude la connessione. Se vuoi una connessione unica fai una pagina unica, ma quando la pagina finisce la connessione viene chiusa o abbandonata (se pconnet).
    Ogni pagina viene eseguita in modo seriale, cioe' una dopo l'altra e non contemporaneamente. Ma non voglio entrare nel merito del tuo lavoro.

    Mysql puo' reggere 100 (default) connessioni contemporanee cioe' 100 USER connessi. Le connessioni avvengono pero' in modo seriale (una alla volta). Il tempo per quanto riguarda la connessione e' di pochi pochi msec.

    Pensa che phpmyadmin per ogni query che fai apre e chiude la connessione... proprio perche' esegue uno script php.... ogni pagina php e' una cosa a se stante, nasce e muore tutto per conto suo. Se invece tu fai un giochino con require/include allora il file che prendi usera' la connessione aperta dalla pagina che invoca il file.

    Ma si andrebbe a finire proprio nel merito dell'applicativo, cosa che non voglio fare.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Quindi in pratica dovrei trovare un modo per non far terminare il PHP e mettere tutto in un con dei require... ma come posso fare, magari prima del ?> potrei mettere un goto.. non saprei lo usavo in C++, in php come si fa?

  9. #9
    Originariamente inviato da lorenz82
    Quindi in pratica dovrei trovare un modo per non far terminare il PHP e mettere tutto in un con dei require... ma come posso fare, magari prima del ?> potrei mettere un goto.. non saprei lo usavo in C++, in php come si fa?
    in php non esiste la pagina infinita od un loop ..... esiste uno script che inizia e finisce ed ha pure un timeout.

    Non sono pratico di chat, e manco voglio impratichirmi. Mi pare che i tempi di refresh che adotti non siano opportuni e forse non lo e' manco l'uso di php per questo applicativo.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    Ok ti ringrazio... cercherò un pò di vedere cosa riesco a fare

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.