Framework di test invisibile all'utente
L'obiettivo di questo documento è fornire ai team tecnici che gestiscono le istruzioni sulle piattaforme webcast aziendali su come usare lo strumento di test invisibile all'utente di Microsoft eCDN per controllare le reti aziendali in preparazione agli eventi effettivi.
Il framework microsoft eCDN Silent Testing consente di eseguire facilmente le simulazioni su più dispositivi per emulare ed esaminare il comportamento di una determinata rete sotto il carico di un evento video.
Un test invisibile all'utente è una sessione video reale eseguita in background (disattivata) in un dispositivo dell'utente finale. L'utente può continuare a lavorare sul proprio computer senza sapere che il test è in esecuzione, anche se potrebbe verificarsi un rallentamento della connettività di rete corrispondente alla larghezza di banda del video.
Nota
Il contenuto dell'evento simulato di test invisibile all'utente è ospitato nel *.ecdn.teams.microsoft.com
dominio. Di conseguenza, i test silenziosi non devono essere usati come test olistico per i municipi o altri prodotti per eventi live.
Il framework è costituito da tre componenti principali:
- Dispositivi runner
- Dashboard di gestione
- Analisi
Questi componenti sono spiegati uno per uno nelle sezioni seguenti.
Dispositivi runner
Ogni dispositivo che si connette al framework è considerato un "runner". Ogni runner simula un singolo visualizzatore e comunica con il back-end di Microsoft eCDN per ottenere istruzioni su quale test deve essere eseguito. La maggior parte delle volte non sono in esecuzione test, nel qual caso il runner attende l'inattività fino all'avvio di un test. Invece di distribuire un'applicazione agente designata in ogni computer per fungere da strumento di esecuzione, Microsoft eCDN sfrutta il software esistente comunemente installato nei computer degli utenti finali per avviare i runner in background.
Poiché lo strumento di esecuzione è essenzialmente una pagina Web, può essere aperto in qualsiasi browser o ambiente simile a un browser. Esistono due modi per creare un'istanza di un runner.
Importante
Microsoft Edge o Google Chrome deve essere installato nel computer dell'utente finale. Inoltre, il dispositivo deve essere acceso e connesso a Internet per partecipare a test invisibile all'utente.
Strumento di esecuzione diretta
L'apertura manuale della pagina dello strumento di esecuzione con l'URL seguente, che si occupa di sostituire il segnaposto TENANT_ID_HERE
con l'ID del tenant in un browser, viene considerata un "runner diretto".
https://st-sdk.ecdn.teams.microsoft.com/?customerId=TENANT_ID_HERE&adapterId=Direct
Attenzione
Mentre viene creata un'istanza di Silent Runner con gli argomenti necessari per esporre l'indirizzo IP del computer al servizio Microsoft eCDN, un Direct Runner usa le impostazioni globali del computer. Di conseguenza, se non è già stato disabilitato l'offuscamento DELL'IP mDNS, è improbabile che Direct Runner eserciti il peering.
Silent Runner
PowerShell & script Bash che avviano un browser Chromium headless in background con la pagina dello strumento di esecuzione, considerata un "runner silenzioso". Lo script può quindi essere eseguito in un gruppo di utenti per connetterli al framework.
Per altre informazioni, vedere Appendice B: Integrazione di runner tramite browser headless
Dashboard di gestione
Il dashboard di gestione consente di pianificare, modificare e annullare i test e mostra anche il numero di runner connessi. Nella finestra principale sono elencati i test in sospeso, i test in corso e i test precedenti già terminati. I test completati vengono visualizzati per 24 ore e vengono quindi nascosti dall'elenco.
Analisi
Quando un test è pianificato, viene impostato sulla modalità "in sospeso". Una volta raggiunta l'ora di inizio, il test viene attivato e a tutti i runner online viene inviato un segnale di attivazione. La pagina di destinazione viene quindi avviata da ogni runner e il video (disattivato) inizia a essere riprodotto nella finestra nascosta. Microsoft eCDN SDK raccoglie le metriche di rete e dell'esperienza utente presentate in vari grafici e grafici disponibili nel dashboard di Analytics. L'analisi viene segnalata mentre il test è in esecuzione in modo che gli amministratori possano controllare lo stato anche prima del termine del test.
Concorrenza
Il grafico Concorrenza mostra il numero di utenti attivi nel tempo. Per essere considerato attivo, un utente deve riprodurre video.
Velocità HTTP + P2P
Il grafico della velocità effettiva di rete mostra una suddivisione del consumo di rete in HTTP e P2P.
Rappresentato come | Descrizione | Asse |
---|---|---|
Barre blu scuro | Larghezza di banda HTTP | A sinistra |
Barre arancioni | Larghezza di banda P2P | A sinistra |
Linea tratteggiata verde | Rapporto di P2P sul totale come percentuale | A destra |
Ad esempio, un rapporto P2P del 90% significa che solo il 10% del traffico è stato scaricato tramite HTTP e il resto è stato sottoposto a peering tra gli utenti.
Se P2P è inferiore al previsto, significa che la concorrenza dell'utente non era sufficientemente elevata o che la rete richiede una maggiore ottimizzazione. Per la risoluzione dei problemi, vedere la documentazione Relativa alla risoluzione dei problemi di efficienza del peering ridotto .
Esperienza utente
Il grafico dell'esperienza utente mostra il tempo combinato trascorso durante la riproduzione rispetto al tempo impiegato per il rebuffering (video bloccato).
Rappresentato come | Descrizione | Asse |
---|---|---|
Barre verdi | Tempo aggregato impiegato per la riproduzione in minuti | A sinistra |
Barre rosse | Tempo combinato impiegato per il rebuffering in minuti | A sinistra |
Linea tratteggiata blu | Rapporto tra il rebuffering e il tempo totale come percentuale | A destra |
Ad esempio, un rapporto di rebuffering del 2% significa che il video è stato riprodotto correttamente per il 98% del tempo, mentre per il 2% del tempo il video è rimasto bloccato.
Il rebuffering dovrebbe idealmente essere inferiore all'1%. Numeri elevati o picchi nel rebuffering potrebbero suggerire congestione della rete, sovraccarico del server o contenuto non configurato correttamente.
Requisiti di rete
Il framework di test invisibile all'utente usa i domini e le porte seguenti:
Nome host | Porte | Protocollo | Descrizione |
---|---|---|---|
*.ecdn.teams.microsoft.com | 443 | HTTPS | Pagina runner & risorse |
*.ecdn.teams.microsoft.com | 443 | WSS | Connessione WebSocket al back-end di Microsoft eCDN |
qualunque | Porte alte 10.000 + | SCTP | Questa operazione è necessaria per le connessioni peer WebRTC. Può essere limitato solo alla LAN. |
Sicurezza
Il framework di test invisibile all'utente funziona assegnando i test ai runner. Mentre lo strumento di esecuzione è una pagina statica che si connette al back-end di Microsoft eCDN, un test eseguito è dinamico e può eseguire qualsiasi pagina di destinazione. Per questo motivo, i runner vengono eseguiti all'interno di una pagina Web creata in modalità sandbox dal browser e si basano su meccanismi di sicurezza integrati nei browser moderni. Indipendentemente dall'integrazione (escluse le integrazioni personalizzate), la pagina di destinazione viene sempre eseguita in un contesto sicuro e pulito usando un iframe.
Anche le autorizzazioni di rete sono vincolate dal browser e limitate alle API Web comuni, tra cui HTTP, WebSocket, WebRTC e così via.
In attesa dell'esecuzione dei test, gli strumenti di esecuzione mantengono una connessione WebSocket persistente tramite una connessione TLS protetta (WSS).
Appendice
Appendice A: Come pianificare un test invisibile all'utente
Passare al dashboard Di test invisibile all'utente
Selezionare il simbolo +
Compilare i campi obbligatori
Nome : nome arbitrario di propria scelta.
Ora & Data : ora specifica in cui inizia il test.
Durata : durata del test. È consigliabile usare almeno 20 minuti per consentire una simulazione appropriata.
URL di destinazione : URL disponibile pubblicamente della pagina dell'evento che riproduce il video durante l'evento simulato. È possibile usare la pagina predefinita o crearne una personalizzata.
Stream predefinito: Microsoft eCDN include una pagina predefinita già integrata con un flusso live che include diversi rendering e protocolli di streaming personalizzabili.
Stream personalizzate: è possibile fornire solo uno streaming live personalizzato e usare la pagina integrata automaticamente di Microsoft eCDN. Il flusso deve essere disponibile pubblicamente e includere intestazioni CORS in modo che i runner possano caricarlo. Il flusso viene riprodotto automaticamente all'inizio del test.
Pagina personalizzata : pagina personalizzata. La pagina deve includere un lettore e uno streaming live ed essere integrata con Microsoft eCDN. Il lettore DEVE iniziare a riprodurre automaticamente il video perché durante il test non viene eseguita alcuna interazione dell'utente. Alcuni browser limitano la possibilità di eseguire la riproduzione automatica dei video. Per questo motivo, è consigliabile disattivare l'audio, semplificando la limitazione. Le pagine predefinite sono disattivate per impostazione predefinita.
Filtri dispositivo : limitare un test a un gruppo specifico di dispositivi. In alcuni casi, potrebbe essere necessario eseguire un test in un subset dei dispositivi connessi. Ad esempio, per eseguire un test solo negli uffici negli Stati Uniti o solo nei dispositivi direct runner.
Filtro paesi : include solo i dispositivi di determinati paesi/aree geografiche (GeoIP).
Filtro di integrazione : include solo i dispositivi connessi tramite una determinata integrazione.
Filtro ID dispositivo : eseguire un test solo su ID dispositivo specifici. Questo filtro viene usato principalmente a scopo di debug locale.
Selezionare Pianifica e il test viene creato.
Quando viene raggiunta l'ora di inizio del test invisibile all'utente, il test verrà eseguito nei dispositivi connessi assegnati.
Appendice B: Integrazione di runner con browser headless
Microsoft eCDN fornisce uno script tester invisibile all'utente senza installazione.
Questo script avvia un browser chromium in background dei computer in una pagina specifica per una durata specificata e quindi chiude il processo del browser in background.
Inoltre, Microsoft eCDN fornisce uno script per eseguire il tester invisibile all'utente nei computer remoti elencati in Active Directory.
Nota
Il riavvio di un computer non ripristina automaticamente lo strumento di esecuzione e il browser dovrà essere riavviato usando lo script.
Eseguire istruzioni per l'ambiente Windows
Scarica silent-tester-runner-windows.ps1 : uno script di PowerShell che avvia un browser basato su cromo (Microsoft Edge o Google Chrome se Edge non viene trovato) in background per 24 ore.
Modifica silent-tester-runner-windows.ps1:
$TenantID: sostituire
TENANT_ID
con l'ID tenant Microsoft.$TestID: sostituire
TEST_ID
con una stringa ID univoca. Questa stringa viene usata nella creazione di file di log, consentendo agli amministratori di test invisibile all'utente di identificare in modo univoco i risultati dei test.
Importante
Ogni test deve avere un $TestID univoco. Se lo script rileva che è stato eseguito in precedenza con lo stesso $TestID dell'istanza corrente, verrà chiuso senza eseguire il test invisibile all'utente.
(Facoltativo) $scenarioDuration : impostare la durata del tempo di attività del browser sul valore desiderato in secondi. È possibile eseguire test invisibile all'utente nei computer di destinazione per questa durata. Poiché il browser è inattivo, non c'è alcun problema nell'aumentare questo valore a diversi giorni per consentire una maggiore flessibilità nell'esecuzione dei test. Questo processo non sopravvive a un riavvio del sistema. Il valore predefinito è 86.400 secondi (24 ore).
(Facoltativo) $customChromePath - Nel caso in cui Microsoft Edge o Google Chrome non sia installato nel percorso predefinito (
C:\Program Files
oC:\Program Files (x86)
) impostare questa variabile sul percorso dell'eseguibile del browser. Per esempio:C:\Custom Path\Edge\msedge.exe
Eseguire lo script nei computer di destinazione usando il metodo scelto, ad esempio una delle opzioni seguenti.
Uso dell'oggetto Criteri di gruppo
Uso di SCCM
Oppure Manualmente da un controller di dominio. Per praticità, viene offerto un esempio di script di chiamata.
Scaricare remote-invocation.ps1 : uno script di PowerShell che esegue silent-tester-runner-windows.ps1 in tutti i computer in Active Directory
(facoltativo) Modificare lo script per limitare la query di Active Directory a un determinato gruppo di computer in base alle esigenze. Consultare la documentazione del
Get-ADComputer
cmdlet per i filtri avanzati.
Nota
Assicurarsi che silent-tester-runner-windows.ps1 si trova nella stessa directory da cui si esegue lo script di chiamata.
Attenzione
Per ottenere risultati ottimali, eseguire lo script dello strumento di esecuzione in un contesto utente. L'esecuzione dello script dello strumento di esecuzione nell'account SYSTEM è sconsigliata.
Passare al dashboard di test invisibile all'utente e assicurarsi che i computer di destinazione vengano visualizzati come runner online.
Istruzioni di esecuzione per l'ambiente Mac
Scarica silent-tester-runner-mac.sh : uno script Bash che avvia Google Chrome in background per 24 ore.
Modifica silent-tester-runner-mac.sh:
ecdnCustomerId : sostituire
CUSTOMER_ID
con l'ID tenant Microsoft.(Facoltativo) scenarioDuration : impostare la durata del tempo di attività del browser sul valore desiderato in secondi. È possibile eseguire test invisibile all'utente nei computer di destinazione per questa durata. Poiché il browser è inattivo, non c'è alcun problema nell'aumentare questo valore a diversi giorni per consentire una maggiore flessibilità nell'esecuzione dei test. Il valore predefinito è 86.400 secondi (24 ore).
A seconda dello strumento usato per la gestione dei dispositivi nel sito, Jamf Pro, ad esempio, esistono diversi modi per eseguire lo script in computer diversi.