+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: WS lento nella trasmissione dei dati

  1. #1
    marco.santilli non è in linea Scolaretto
    Post
    443

    WS lento nella trasmissione dei dati

    Ho riscontrato questo problema

    DB: maria

    Se utilizzo la mia applicazione nel PC dove ci sono installati i WS e il DB, l'applicazione risulta velocissima...
    PC1: programma + WS + DB
    Velocità elaborazione esempio: 1 secondo

    Se mi connetto con un altro client ai ws, la velocità di elaborazioni dati e risposta al client è molto molto lenta...
    PC2: programma
    Velocità elaborazione esempio: 10 secondi

    molto molto più lenta...
    non capisco il motivo...

    è proprio cosi, o dovrebbe avere la stessa velocità di elaborazione del PC1???

    Ciao e grazie
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  2. #2
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,190
    Blogs
    5
    Ma di che applicazione si tratta? Come dialogano i WS? Come sono scritti ?

    E' quasi impossibile darti una risposta ...
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  3. #3
    L'avatar di +m+
    +m+
    +m+ non è in linea Scribacchino
    Post
    922
    1) ma cos'è WS per te?
    2) misuri il tempo di esecuzione delle query, della trasmissione dei dati o cos'altro?

  4. #4
    marco.santilli non è in linea Scolaretto
    Post
    443

    ok

    WS: Web Service
    Tipo: Soap
    Scritti: C#

    Applicazione: vb.net

    DB: MariaDB mysql

    Come test: ho misurato semplicemente la velocità di esecuzione di una query al DB
    PC1: quasi immediata, però ho messo 1 secondo per convezione...
    PC2: quasi 10 secondi...funziona tutto ma è molto molto lento...
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  5. #5
    L'avatar di bumm
    bumm non è in linea Very Important Person Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Luogo
    Bologna
    Post
    2,142
    Blogs
    1
    se provi a loggare nel WS il tempo di esecuzione della query, dovrebbe essere lo stesso ed indipendente da dove il metodo è stato invocato.
    E possibile se utilizzi per la prima volta il WS, ci vorrà un po di tempo per compilare ed avviare tutto. Stessa cosa se il WS non viene utilizzato per un periodo di tempo(default20min), in quel caso IIS scaricherà AppPool per inutilizzo.

    altre cose da controllare e la dimensione del pachetto SOAP creato(quantità di dati spediti al WS), velocità della rete, impostazioni firewall e.c.c.
    "HeloWorld.exe" 17 errors, 31 warnings.

    Non mi mandate le richieste di aiuto via PM! Non vi risponderò! Tutte le domande fateli sul forum!

  6. #6
    marco.santilli non è in linea Scolaretto
    Post
    443
    Quote Originariamente inviato da bumm Visualizza il messaggio
    altre cose da controllare e la dimensione del pachetto SOAP creato(quantità di dati spediti al WS), velocità della rete, impostazioni firewall e.c.c.
    la rete è tutta gigabit...provato anche virtualizzando una macchina....quindi stesso pc con bridge di rete...
    risulta sempre lento...domani provo a vedere le impostazioni del firewall, ma non penso che si siano problemi...

    consigli proprio sul webservices ?? qualche test da fare cosi vi posso dare più info in merito e vedere il problema

    Ciao e grazie
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  7. #7
    L'avatar di +m+
    +m+
    +m+ non è in linea Scribacchino
    Post
    922
    Quote Originariamente inviato da marco.santilli Visualizza il messaggio
    WS: Web Service
    Tipo: Soap
    Scritti: C#

    Applicazione: vb.net

    DB: MariaDB mysql

    Come test: ho misurato semplicemente la velocità di esecuzione di una query al DB
    PC1: quasi immediata, però ho messo 1 secondo per convezione...
    PC2: quasi 10 secondi...funziona tutto ma è molto molto lento...
    Più chiaramente
    Logga le query (volendo puoi attivare direttamente il log da mariadb), così vedi i tempi di esecuzione indipendentemente dallo strato software.
    Attiva pure lo slow query (settalo che so a 1 secondo), poi prendi le query e controlla se la lentezza è data dal tempo di esecuzione o di trasferimento dati.
    Bisogna che "smonti" la logica della tua applicazione "tagliando" via tutto il possibile, al fine di identificare la natura del rallentamento.

    Una volta stabilito che la query ha le medesime prestazioni su entrambi i sistemi (più o meno), allora "salirai" nella logica dell'applicazione, ad esempio (come suggerito sopra) loggando l'inizializzazione (avvio) del web service, l'invio della query, il ritorno dei dati e così via.

    Come test: ho misurato semplicemente la velocità di esecuzione di una query al DB
    Come hai fatto questa misura?

  8. #8
    Luogo
    Lazio
    Post
    1,596
    Blogs
    21
    Quote Originariamente inviato da marco.santilli Visualizza il messaggio
    WS: Web Service
    Tipo: Soap
    Scritti: C#

    Applicazione: vb.net

    DB: MariaDB mysql

    Come test: ho misurato semplicemente la velocità di esecuzione di una query al DB
    PC1: quasi immediata, però ho messo 1 secondo per convezione...
    PC2: quasi 10 secondi...funziona tutto ma è molto molto lento...
    per i web service usi il framework WCF ?
    Ciao sspintux
    ------------------------------------------------------------

    O Santo Protettore dell'informatico quadratico medio, se puoi allontana da me questo cetriolo amaro!
    Azz! ... questo è un grande porck-around; potremmo addirittura farlo passare per una funzionalità avanzata

  9. #9
    marco.santilli non è in linea Scolaretto
    Post
    443

    ok

    Quote Originariamente inviato da +m+ Visualizza il messaggio
    Più chiaramente
    Logga le query (volendo puoi attivare direttamente il log da mariadb), così vedi i tempi di esecuzione indipendentemente dallo strato software.
    Attiva pure lo slow query (settalo che so a 1 secondo), poi prendi le query e controlla se la lentezza è data dal tempo di esecuzione o di trasferimento dati.
    Bisogna che "smonti" la logica della tua applicazione "tagliando" via tutto il possibile, al fine di identificare la natura del rallentamento.

    Una volta stabilito che la query ha le medesime prestazioni su entrambi i sistemi (più o meno), allora "salirai" nella logica dell'applicazione, ad esempio (come suggerito sopra) loggando l'inizializzazione (avvio) del web service, l'invio della query, il ritorno dei dati e così via.

    Come hai fatto questa misura?
    ok ottimo...provo a fare i test e vi tengo aggiornami cosi per capire....

    per la misura ho fatto a "braccio"...proprio calcolo di tempo e basta...
    una semplice query, immaginavo che in rete o in locale fosse lo stesso in termini di velocità, ma visto che è circa 10 volte più lento, mi sono subito spaventato...
    adesso seguito passo passo i tuoi consigli e iniziamo a fare TEST SERI...
    per adesso grazieeeeeee
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  10. #10
    L'avatar di +m+
    +m+
    +m+ non è in linea Scribacchino
    Post
    922
    Quote Originariamente inviato da marco.santilli Visualizza il messaggio
    ok ottimo...provo a fare i test e vi tengo aggiornami cosi per capire....

    per la misura ho fatto a "braccio"...proprio calcolo di tempo e basta...
    una semplice query, immaginavo che in rete o in locale fosse lo stesso in termini di velocità, ma visto che è circa 10 volte più lento, mi sono subito spaventato...
    adesso seguito passo passo i tuoi consigli e iniziamo a fare TEST SERI...
    per adesso grazieeeeeee
    Certo che NO, non hanno necessariamente la stessa velocità
    Inizia, ad esempio, a sostituire il ritorno dei dati col conteggio (invece di select blablabla from... metti un banale select count(unachiaveprimaria) blablabla"
    Così vedi se il tempo dipende dall'esecuzione della query, o dal trasferimento dei dati.
    Per la verità con mysqladmin già lo puoi vedere, durante l'esecuzione della query, se il processo mariadb-mysql è in fase di "transferring" oppure no.

    Supponi che so di fare un select * da un archivio con 10 milioni di righe: se il dataset risultante è enorme può richiedere tempo per essere trasferito e "smazzato".
    Non credo sia il tuo caso, a dir la verità, ma come accennato devi "smontare" il problema (difficile) di capire la situazione a favore di esaminare (facile) i "mattoncini" della tua applicazione

+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi