Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 36
  1. #1
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003

    [MySql] N query al secondo per taaanti secondi... Scoppierà?

    La questione è un pò delicata.
    Ho fatto, con delphi, un software che monitorizza lo stato della linea di un telefono ip e ad ogni cambio di stato (banalmente occupato/libero ma comunque solo quando c'è un cambio di stato) va ad aggiornare un campo su un database mysql.
    Ora il problema sorge quando voglio visualizzare quei dati.
    Per evitare il refresh della pagina ogni tot ho pensato di usare la tecnologia ajax.
    All'avvio della pagina php, creo tante funzioni ricorsive in javascript quante sono le linee memorizzate nel database. Queste funzioni javascript, ogni secondo, vanno ad interrogare uno script php che a sua volta esegue una query sul database per vedere lo stato della linea. A seconda del valore estratto lo script php dà come risultato il nome del file da visualizzare.
    Il risultato è questo:





    Nella seconda immagine l'interno 103 risulta occupato.
    L'aggiornamento dell'immagine ogni secondo serve per avere un monitoring più o meno real-time della linea.
    Ora ho cercato di limitare i danni utilizzando, per il file php che esegue le interrogazioni, una connessione permanente.

    Ma mi sorge un dubbio: se la stessa pagina viene vista da 6 utenti differenti, sono 36 query al secondo (escluse le altre operazioni che si possono eseguire sul database). Si consideri anche che quella paginetta viene inclusa in un iframe all'interno di una pagina di una intranet.
    Non è che rischio di farlo saltare per aria sto database?

    La questione mi interessa perchè sto software, che ho sviluppato per la azienda per cui lavoro, dovrà essere poi venduto ad un cliente che ha un call center con almeno 50 interni...

  2. #2

    Re: [MySql] N query al secondo per taaanti secondi... Scoppierà?

    La questione mi interessa perchè sto software, che ho sviluppato per la azienda per cui lavoro, dovrà essere poi venduto ad un cliente che ha un call center con almeno 50 interni...

    :master:

  3. #3
    non mi vengono attualmente soluzioni alternative (via web intendo) ma posso dirti che (supponiamo) 50 query al secondo a ciclo continuo non sono un carico mostruoso (bisogna vedere cosa e quanto si estrae e su che server si estrae) ma c'è da tenerne conto.
    se poi aggiungiamo che in un call center possono esserci anche 300 o più operatori le query si sommano.
    poi bisognerebbe vedere la macchina su cui è installato il db, la memoria, il processore etc etc.

    in definitiva: così come lo hai descritto per me il sistema è troppo precario. voglio dire: un sistema che rischia di cadere se si collegano 500 persone tutte insieme non è il massimo.
    w la topa

  4. #4
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Dici che scoppia?

  5. #5
    Originariamente inviato da VaLvOnAuTa
    Dici che scoppia?

    scoppiare no, ma il limite di rottura rischia di essere troppo basso.

    se hai la certezza che non si collegheranno più di TOT persone e hai la certezza che la macchina server sia potente ti basta fare delle prove. ma un sistema così vincolato ti pare una giusta soluzione?

    se per te sì, lo è anche per me.

    il sistema come lo hai descritto in questo thread, su una macchina mediamente potente (2 GIGA di RAM e processore veloce), e con un massimo di 100 persone collegate insieme dovrebbe reggere senza troppi problemi (ipotizzo query semplici ovviamente).

    ovviamente sono solo ipotesi. in questo caso è d'obbligo fare delle prove.
    w la topa

  6. #6
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Originariamente inviato da saibal
    non mi vengono attualmente soluzioni alternative ma posso dirti che (supponiamo) 50 query al secondo a ciclo continuo non sono un carico mostruoso (bisogna vedere cosa e quanto si estrae) ma c'è da tenerne conto.
    se poi aggiungiamo che in un call center possono esserci anche 300 o più operatori le query si sommano.
    poi bisognerebbe vedere la macchina su cui è installato il db, la memoria, il processore etc etc.

    in definitiva: così come lo hai descritto per me il sistema è troppo precario. voglio dire: un sistema che rischia di cadere se si collegano 500 persone tutte insieme non è il massimo.
    La select dal db estrae semplicemente 3 tinyint da una cifra (quanto sarà? 1 kb?).
    La query è del tipo
    codice:
    SELECT attivo,outgoing,registrato FROM phones WHERE numero=\''.$_GET['n'].'\'
    dove i record presenti saranno pari al numero di interni telefonici (quindi al massimo 48 massimo). Non dovrebbe consumare troppi cicli macchina una query così semplice no?
    Ho notato che già con due browser aperti mi dava problemi di connessione al db, per questo son passato ad una connessione persistente (che sembra reggere).

    Le linee che saranno sotto controllo non saranno più di 48 (il massimo cui possiamo spingere il centralino ip è 248) e comunque la pagina "autoaggiornante" sarà vista da un massimo di 6 persone.
    Alla luce di questi dati (appena fornitimi dal capo) si raggiunge il risultato di un massimo di 300 query al secondo.
    Se pò fà?

  7. #7
    Originariamente inviato da VaLvOnAuTa
    Le linee che saranno sotto controllo non saranno più di 48 (il massimo cui possiamo spingere il centralino ip è 248) e comunque la pagina "autoaggiornante" sarà vista da un massimo di 6 persone.
    Alla luce di questi dati (appena fornitimi dal capo) si raggiunge il risultato di un massimo di 300 query al secondo.
    Se pò fà?
    nessuno potrà rispondere con certezza. devi fare delle prove e vedere.

    il mio era solo un punto di vista teorico.

    teoria: il tuo sistema è decisamente troppo vincolato a troppi fattori

    pratica: il tuo sistema potrà funzionare se sai già che il numero massimo di utenti collegati sarà 6. e questo è bene.


    cmq azzardo una ipotesi: con 300 query al secondo a ciclo continuo ti crolla tutto dopo 25 secondi netti
    w la topa

  8. #8
    ovviamente "numero" è indice vero?
    w la topa

  9. #9
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Originariamente inviato da saibal
    ovviamente "numero" è indice vero?
    gliesser
    Dici che così riesco a far piantare tutto dopo 50 secondi anzichè 25?

  10. #10
    Originariamente inviato da saibal

    cmq azzardo una ipotesi: con 300 query al secondo a ciclo continuo ti crolla tutto dopo 25 secondi netti

    Bellissimo! mi hai fatto pariare!


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.