Calcola applicazioni Web Utilizzabile con larghezza di banda

0

Ho bisogno di misurare un consumo medio di bit rate dell'applicazione web per vedere quale è la larghezza di banda consigliata necessaria per l'utente finale per connettersi e utilizzare l'applicazione web senza problemi di prestazioni dal server.

Il mio pensiero è di usare una macchina per l'utente finale e fare uno stress test per l'applicazione web e caricarla con pesanti richieste web che un utente normale può fare in un giorno. Quindi, posso vedere l'utilizzo della CPU / RAM (considerando anche il fattore di rete) sul lato server al momento delle richieste e prendere una decisione se la risposta dal server servirà con prestazioni accettabili all'utente finale.

Non sono ancora sicuro di come posso misurarlo perché molti fattori saranno presenti. Ad esempio, so che il server servirà molti utenti in qualsiasi momento e non sarà un calcolo equo per tutti gli utenti connessi a ottenere una cifra di prestazioni accettabile.

Qualche idea?

    
posta Hussain Mahfoodh 29.01.2018 - 20:04
fonte

3 risposte

2

In passato ho affrontato problemi come questo riducendo al minimo la latenza sul lato client o sul lato server. Conoscere la dimensione della pipa di rete è una cosa, ma di solito è qualcosa che non puoi modificare. Di solito, con un server centralizzato, è il server il problema.

Anche se un bel po 'è lasciato al giudizio, ci sono alcune approssimazioni.

    Wide area network 100s of millisec
    Disk access 10 milli sec
    Ssd disk access .5 milli sec
    Local area network, .5 mill sec
    Local memory 100 nano sec
    Processor Cache  100 pico sec

Quindi considera quali sono i passaggi di base che l'app web deve eseguire e calcolare il livello. Guarda quanto sei vicino - o hai dimenticato qualcosa (molto probabilmente), o hai bisogno di modificare le tue approssimazioni.

Ad esempio, c'era un'applicazione Web su cui stavo lavorando e la maggior parte delle richieste ha richiesto più di 70 ms per rispondere. Ho tracciato questo a 7 operazioni di database. Una proposta per aumentare le prestazioni consisteva nel mettere in cache più dati localmente (stavamo colpendo un paio di tabelle statiche che potevano essere memorizzate nella cache locale), portando la latenza a un bit più di 50 ms. Inoltre, andando con gli SSD, potremmo potenzialmente abbatterlo un po 'più di 5 ms. Di certo, una latenza inferiore significa che il server può gestire un carico di picco più elevato.

    
risposta data 31.01.2018 - 02:09
fonte
1

Potresti dare un'occhiata a questo o ISO / IEC 14756: 1999-11 (se hai un'università vicino a te, potrebbero ottenere se per te).

Per prima cosa devi distinguere tra rendimento di punta e rendimento medio , entrambi misurati con un numero crescente di utenti. Non si dovrebbe fare una misurazione basata su un utente. Motivo per questo è il comportamento dell'applicazione - memorizzazione nella cache dei dati resp. lettura da disco / database in cui il footprint cambierà nel tempo e nella quantità di utenti. (Semplificato: pensa di scambiare il comportamento delle prestazioni).

In entrambi i casi (massimo e medio), dovresti avere uno o più computer test-client fisici in esecuzione con un modello di carico di lavoro tipico contro il server. Ognuna di queste macchine client fisiche gestirà uno o più utenti simulati.

  • Per prestazioni ottimali, ogni utente simulato eseguirà un'azione dopo l'azione senza tempo di riflessione sul lato client.

  • Per le prestazioni medie (che è più vero), l'utente simulato aspetterebbe una risposta dell'azione precedente prima che pensi, digiti e invii una risposta. Se esegui diversi di questi client in parallelo, con una distribuzione statistica delle varie richieste e tempi e un tempo di esecuzione sufficiente del test completo, otterrai buoni risultati.

A seconda del budget, ci sono molti strumenti di test professionali; tuttavia potresti semplicemente provare JMeter, vedi qui per maggiori informazioni:

Non esitare a chiedere di nuovo - fatto questo per molti anni.

    
risposta data 31.01.2018 - 13:26
fonte
0

Trovati questi articoli che aiutano a dare idee sia sul lato client che sul lato server.

Lato client: link

Lato server: link

La linea di fondo è il calcolo esatto della larghezza di banda è molto difficile da calcolare, dal momento che ci sono molti attributi variabili da considerare appositamente dal lato della rete.

Il giudizio professionale complessivo è fondamentale in base ai test e alla media dei risultati incorporando gli attributi di impatto più pesanti che devono influire sulle prestazioni dell'applicazione.

    
risposta data 30.01.2018 - 11:34
fonte

Leggi altre domande sui tag