Framework di test invisibile all'utente
L'obiettivo di questo documento è fornire ai team tecnici che gestiscono le istruzioni per le piattaforme webcast aziendali su come controllare le reti aziendali con lo strumento Di test invisibile all'utente di Microsoft eCDN e identificare i possibili problemi prima degli 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.
Il framework è costituito da 3 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" e comunicherà 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 lo strumento di esecuzione attenderà inattivo fino all'avvio di un test. Invece di distribuire un'applicazione agente designata in ogni computer per agire come strumento di esecuzione, Microsoft eCDN sfrutta il software esistente già installato nei computer degli utenti finali, ad esempio Microsoft Edge e Google Chrome, 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. Oltre ai metodi suggeriti di seguito, i runner possono essere integrati in qualsiasi altro modo che abbia senso per le esigenze di un'azienda. È importante notare che, indipendentemente dal metodo di integrazione scelto, il computer dell'utente finale deve essere attivato e connesso a Internet per consentire il funzionamento di qualsiasi integrazione
Browser headless : vengono forniti script Bash di PowerShell & che avviano Edge/Chrome in background con la pagina dello strumento di esecuzione. Lo script può quindi essere eseguito in un gruppo di utenti per connetterli al framework. Si noti che Edge e/o Chrome devono essere installati per il funzionamento dell'integrazione
Per altre informazioni, vedere Appendice B: Integrazione di runner con 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 terminati vengono visualizzati per 24 ore e vengono quindi nascosti dall'elenco.
Nota critica sulle statistiche del runner online: il numero di dispositivi che eseguiranno effettivamente un test pianificato dipende dal numero di runner connessi al momento dell'avvio del test. Se un test è pianificato per domani e sono presenti 100 dispositivi online, questi dispositivi dovranno essere online domani quando il test inizierà.
Analisi
Quando un test è pianificato, viene impostato sulla modalità "in sospeso". Una volta raggiunto l'ora di inizio del test, il test viene attivato e tutti i runner pertinenti riceveranno una notifica del test attivato, la pagina di destinazione verrà avviata e il video (disattivato) inizierà a essere riprodotto nella finestra nascosta. Microsoft eCDN SDK raccoglie le metriche di rete e dell'esperienza utente presentate in vari 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.
- Barre blu scuro - Larghezza di banda HTTP
- Barre arancioni - Larghezza di banda P2P
- Linea tratteggiata verde - rapporto P2P del totale come percentuale (asse destro). 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 un'ottimizzazione aggiuntiva. 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).
- Barre verdi : tempo aggregato trascorso in minuti (asse sinistro)
- Barre rosse : tempo combinato impiegato per il rebuffering in minuti (asse sinistro)
- Linea tratteggiata blu: rapporto tra il buffering e il tempo totale come percentuale. (asse destro). Ad esempio, un rapporto di rebuffering del 2% indica che il 98% del video è stato riprodotto correttamente mentre per il 2% del tempo in cui 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:
Hostname | Porte | Protocollo | Descrizione |
---|---|---|---|
*.ecdn.microsoft.com | 443 | HTTP/S | Risorse della pagina dello strumento di esecuzione & |
*.ecdn.microsoft.com | 443 | WSS | Connessione WebSocket al back-end di Microsoft eCDN |
Qualsiasi | Porte alte 10.000 + | SCTP | Questa operazione è necessaria per le connessioni peer WebRTC. Può essere limitato solo alla LAN. |
Importante
A partire dal 1° giugno 2023, si eseguirà la transizione dei domini da *.ecdn.microsoft.com
a *.ecdn.teams.microsoft.com
. In preparazione per il periodo di transizione di più settimane, aggiungere il nuovo dominio a qualsiasi configurazione firewall, proxy, VPN o mDNS che potrebbe essere stata eseguita. È importante notare che la transizione non sarà un cut-over pulito, quindi entrambi i domini devono essere considerati durante il periodo di transizione.
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 predefiniti 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 sicura (WSS).
Appendice
Appendice A: Come pianificare un test invisibile all'utente
Passare al dashboard Di test invisibile all'utente
Fare clic sul simbolo +
Compilare i campi obbligatori
Nome : nome arbitrario di propria scelta.
Tempo & Data : ora specifica in cui inizierà il test.
Durata : durata del test. È consigliabile almeno 20 m per consentire una simulazione appropriata.
URL di destinazione : URL disponibile pubblicamente della pagina dell'evento che riproduce il video per la durata dell'evento. È possibile usare la pagina predefinita o crearne una personalizzata.
Flusso predefinito : Microsoft eCDN include una pagina predefinita già integrata con un flusso live che include diversi rendering e protocolli di streaming personalizzabili.
Flusso personalizzato : è possibile fornire solo un flusso 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 verrà riprodotto automaticamente all'inizio del test.
Pagina personalizzata : pagina completamente personalizzata. La pagina deve includere un lettore e uno streaming live, nonché 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 riprodurre automaticamente video. Per questo motivo, si consiglia di disattivare l'audio che semplifica 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 (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.
Fare clic su Pianifica e verrà creato il test.
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 avvierà Chrome o Edge in background dei computer in una pagina specifica per una durata specificata e quindi chiuderà 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. Si noti che il riavvio di un computer non ripristinerà 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 il browser basato su chromium (Edge o 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 verrà 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. Sarà possibile eseguire test invisibile all'utente nei computer di destinazione per questo periodo di tempo. 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 è 86400 secondi (24 ore).
(Facoltativo) $customChromePath - Nel caso in cui Edge o 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
L'esecuzione dello script dello strumento di esecuzione nell'account SYSTEM è sconsigliata. Per ottenere risultati ottimali, eseguire lo script dello strumento di esecuzione in un contesto utente.
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. Sarà possibile eseguire test invisibile all'utente nei computer di destinazione per questo periodo di tempo. 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 è 86400 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.