Sto provando a caricare test su una coda che funziona su un modello secondario di pub e non riesco a capire come deve essere calcolato il tempo di risposta e il TPS (transazioni al secondo).
Dichiarazione del problema:
Il modello secondario di pub ci impone di sviluppare script diversi per l'utente di pubblicazione e l'utente che ha effettuato la sottoscrizione.
Ogni messaggio che viene inviato alla coda dal publisher verrà intercettato da ciascun abbonato a quella coda.
L'utente che pubblica e l'altro utente che consuma la risposta potrebbero / potrebbero non essere diversi.
Come dovrebbe essere calcolata la latenza adesso?
Case-1 Calcola solo il tempo di pubblicazione dei messaggi in coda.
Case-2 Calcola il tempo di pubblicazione del messaggio + tempo impiegato dal sottoscrittore per recuperarlo.
Caso 3 Calcola solo il tempo che il sottoscrittore deve estrarre i messaggi dalla coda.
Il sottoscrittore sta lavorando su un meccanismo di polling, cioè, controlla la coda per tutti i messaggi dopo ogni intervallo. Il tempo impiegato per ricevere il messaggio da un abbonato da un editore dipende dai seguenti fattori:
Quando è stato effettuato l'ultimo polling?
Carica sulla coda a causa del publisher.
Questo suggerisce che potrebbe esserci una correlazione tra editore e utenti iscritti a causa della dipendenza del carico in coda a causa sia del publisher che del sottoscrittore.
C'è anche una possibilità di differenza nel tasso di velocità di pubblicazione e sottoscrizione degli utenti. Ad esempio: se in una coda, 20 messaggi sono code al secondo, ma un sottoscrittore può estrarre solo 10 messaggi al secondo. Dobbiamo calcolare il tempo a causa di messaggi aggiuntivi in coda prima che un particolare messaggio sia letto dalla coda.
Soluzione fino ad ora
Durante la preparazione dello script per editore e sottoscrittore, mantenere la velocità di invio ed estrazione dei messaggi, simile / con la minima differenza indotta possibile mantenendo il polling e l'intervallo di pubblicazione stesso. Anche se la differenza nel numero di editori / sottoscrittori può caricare la coda e la differenza sarà ancora indotta.
Ciò che non è ancora chiaro è per quale fattore deve essere eseguito il test del carico -
Quante transazioni può fare un editore in un secondo (TPS)? Quante transazioni può fare un abbonato in un secondo (TPS)? Quanto carico può gestire la coda effettuando le transazioni? Il TPS della coda dipende sia dal publisher che dal sottoscrittore che effettua transazioni in esso.
Per studiare l'editore | Abbonato | Caricare in coda separatamente (mantenendo il tasso di polling e la velocità di pubblicazione uguali nello script) I - Calcola il tempo di risposta per pubblicare un messaggio separatamente. (Per testare la velocità di pubblicazione) Calcola separatamente il tempo di estrazione dell'abbonato. (Per testare la velocità di sottoscrizione) Calcola il tempo di raggiungere separatamente dal publisher all'abbonato. (Per controllare il carico sulla coda separatamente)
C'è qualcosa che sto facendo male, come posso testarlo per più utenti?