Ottimizzazione delle prestazioni host sessione Desktop remoto

Questo argomento illustra come selezionare l'hardware Host sessione Desktop remoto (Host sessione Desktop remoto), ottimizzare l'host e ottimizzare le applicazioni.

Contenuto dell'argomento:

Selezione dell'hardware appropriato per le prestazioni

Per una distribuzione del server Host sessione Desktop remoto, la scelta dell'hardware è governata dal set di applicazioni e dal modo in cui gli utenti le usano. I fattori chiave che influiscono sul numero di utenti e sulla loro esperienza sono CPU, memoria, disco e grafica. Questa sezione contiene linee guida aggiuntive specifiche per i server Host sessione Desktop remoto ed è principalmente correlata all'ambiente multiutente dei server Host sessione Desktop remoto.

Configurazione della CPU

La configurazione della CPU è determinata concettualmente moltiplicando la CPU necessaria per supportare una sessione in base al numero di sessioni che il sistema deve supportare, mantenendo al tempo stesso una zona buffer per gestire i picchi temporanei. Più processori logici possono contribuire a ridurre situazioni di congestione della CPU anomale, che in genere sono causate da alcuni thread iperattivi contenuti da un numero simile di processori logici.

Di conseguenza, più processori logici ci sono in un sistema, minore è il margine di cuscino che deve essere compilato nella stima dell'utilizzo della CPU, che comporta una percentuale maggiore di carico attivo per CPU. Un fattore importante da ricordare è che il raddoppio del numero di CPU non raddoppia la capacità della CPU.

Configurazione della memoria

La configurazione della memoria dipende dalle applicazioni che gli utenti usano; tuttavia, la quantità di memoria richiesta può essere stimata usando la formula seguente: TotalMem = OSMem + SessionMem * NS

OSMem è la quantità di memoria richiesta dal sistema operativo (ad esempio immagini binarie di sistema, strutture di dati e così via), SessionMem è la quantità di processi di memoria in esecuzione in una sessione e NS è il numero di sessioni attive di destinazione. La quantità di memoria necessaria per una sessione è determinata principalmente dal set di riferimenti alla memoria privata per le applicazioni e i processi di sistema in esecuzione all'interno della sessione. Il codice condiviso o le pagine di dati hanno poco effetto perché nel sistema è presente una sola copia.

Un'osservazione interessante (presupponendo che il sistema del disco che esegue il backup del file di pagina non cambi) è che maggiore è il numero di sessioni attive simultanee che il sistema prevede di supportare, maggiore è l'allocazione di memoria per sessione. Se la quantità di memoria allocata per sessione non viene aumentata, il numero di errori di pagina generati dalle sessioni attive aumenta con il numero di sessioni. Questi errori alla fine sovraccaricano il sottosistema di I/O. Aumentando la quantità di memoria allocata per sessione, la probabilità di incorrere in errori di pagina diminuisce, riducendo così la frequenza complessiva degli errori di pagina.

Configurazione del disco

L'archiviazione è uno degli aspetti più trascurati quando si configurano i server Host sessione Desktop remoto e può essere la limitazione più comune nei sistemi distribuiti nel campo.

L'attività del disco generata in un tipico server Host sessione Desktop remoto influisce sulle seguenti aree:

  • File di sistema e file binari dell'applicazione

  • File di pagina

  • Profili utente e dati utente

Idealmente, queste aree devono essere sottoposte a backup da dispositivi di archiviazione distinti. L'uso di configurazioni RAID con striping o di altri tipi di archiviazione ad alte prestazioni migliora ulteriormente le prestazioni. È consigliabile usare adattatori di archiviazione con memorizzazione nella cache di scrittura supportata dalla batteria. I controller con memorizzazione nella cache di scrittura su disco offrono un supporto migliorato per le operazioni di scrittura sincrone. Poiché tutti gli utenti hanno un hive separato, le operazioni di scrittura sincrone sono significativamente più comuni in un server host sessione Desktop remoto. Gli hive del Registro di sistema vengono salvati periodicamente su disco usando operazioni di scrittura sincrone. Per abilitare queste ottimizzazioni, dalla console gestione disco aprire la finestra di dialogo Proprietà per il disco di destinazione e, nella scheda Criteri, selezionare Abilita memorizzazione nella cache di scrittura sul disco e Disattiva scaricamento del buffer della cache di scrittura di Windows nelle caselle di controllo del dispositivo.

Configurazione di rete

L'utilizzo della rete per un server Host sessione Desktop remoto include due categorie principali:

  • L'utilizzo del traffico di connessione host sessione Desktop remoto viene determinato quasi esclusivamente dai modelli di disegno esposti dalle applicazioni in esecuzione all'interno delle sessioni e dal traffico di I/O dei dispositivi reindirizzati.

    Ad esempio, le applicazioni che gestiscono l'elaborazione del testo e l'input di dati utilizzano la larghezza di banda di circa 10-100 kilobit al secondo, mentre la riproduzione grafica e video avanzata causa un aumento significativo dell'utilizzo della larghezza di banda.

  • Connessioni back-end, ad esempio profili mobili, accesso delle applicazioni a condivisioni file, server di database, server di posta elettronica e server HTTP.

    Il volume e il profilo del traffico di rete sono specifici di ogni distribuzione.

Ottimizzazione delle applicazioni per Host sessione Desktop remoto

La maggior parte dell'utilizzo della CPU in un server Host sessione Desktop remoto è basata sulle app. Le app desktop sono in genere ottimizzate per la velocità di risposta con l'obiettivo di ridurre al minimo il tempo necessario a un'applicazione per rispondere a una richiesta dell'utente. Tuttavia, in un ambiente server, è altrettanto importante ridurre al minimo la quantità totale di utilizzo della CPU necessaria per completare un'azione per evitare effetti negativi sulle altre sessioni.

Quando si configurano le app che devono essere usate in un server Host sessione Desktop remoto, prendere in considerazione i seguenti suggerimenti:

  • Ridurre al minimo l'elaborazione di cicli inattivi in background

    Esempi tipici sono la disabilitazione della grammatica in background e del controllo ortografico, l'indicizzazione dei dati per la ricerca e il salvataggio in background.

  • Ridurre al minimo la frequenza con cui un'app esegue un controllo dello stato o un aggiornamento.

    La disabilitazione di tali comportamenti o l'aumento dell'intervallo tra le iterazioni di polling e la generazione di timer favorisce significativamente l'utilizzo della CPU perché l'effetto di tali attività viene rapidamente amplificato per molte sessioni attive. Esempi tipici sono le icone di stato della connessione e gli aggiornamenti delle informazioni sulla barra di stato.

  • Ridurre al minimo il conflitto di risorse tra le app riducendone la frequenza di sincronizzazione.

    Esempi di tali risorse includono chiavi del Registro di sistema e file di configurazione. Esempi di componenti e funzionalità dell'applicazione sono indicatori di stato (ad esempio le notifiche della shell), l'indicizzazione in background o il monitoraggio delle modifiche e la sincronizzazione offline.

  • Disabilitare i processi non necessari registrati per iniziare con l'accesso utente o l'avvio di una sessione.

    Questi processi possono contribuire in modo significativo al costo dell'utilizzo della CPU quando si crea una nuova sessione utente, che in genere è un processo a elevato utilizzo della CPU e può essere molto costoso negli scenari mattutini. Usare MsConfig.exe o MsInfo32.exe per ottenere un elenco di processi avviati all'accesso utente. Per informazioni più dettagliate, è possibile usare Esecuzioni automatiche per Windows.

Per l'utilizzo della memoria, è consigliabile considerare quanto segue:

  • Verificare che le DLL caricate da un'app non vengano rilocate.

    • Le DLL rilocate possono essere verificate selezionando la visualizzazione DLL processo, come illustrato nella figura seguente, usando Esplora processi.

    • Qui è possibile notare che y.dll è stato rilocato perché x.dll ha già occupato il relativo indirizzo di base predefinito e ASLR non è stato abilitato

      relocated dlls

      Se le DLL vengono rilocate, è impossibile condividere il codice tra le sessioni, aumentando in modo significativo il footprint di una sessione. Si tratta di uno dei problemi di prestazioni più comuni relativi alla memoria in un server host sessione Desktop remoto.

  • Per le applicazioni CLR (Common Language Runtime), usare Native Image Generator (Ngen.exe) per aumentare la condivisione di pagine e ridurre il sovraccarico della CPU.

    Quando possibile, applicare tecniche simili ad altri motori di esecuzione simili.

Parametri di ottimizzazione dell'host sessione Desktop remoto

File di pagina

Dimensioni insufficienti del file di pagina possono causare errori di allocazione della memoria nelle app o nei componenti di sistema. È possibile usare il contatore delle prestazioni byte di cui è stato eseguito il commit per monitorare la quantità di memoria virtuale di cui è stato eseguito il commit nel sistema.

Antivirus

L'installazione di software antivirus in un server Host sessione Desktop remoto influisce notevolmente sulle prestazioni complessive del sistema, in particolare sull'utilizzo della CPU. È consigliabile escludere dall'elenco di monitoraggio attivo tutte le cartelle che contengono file temporanei, in particolare quelli generati da servizi e altri componenti di sistema.

Utilità di pianificazione

Utilità di pianificazione consente di esaminare l'elenco di attività pianificate per eventi diversi. Per un server Host sessione Desktop remoto, è utile concentrarsi in modo specifico sulle attività configurate per essere eseguite al minimo, all'accesso dell'utente o alla connessione e alla disconnessione della sessione. A causa delle specifiche della distribuzione, molte di queste attività potrebbero non essere necessarie.

Icone di notifica desktop

Le icone di notifica sul desktop possono avere meccanismi di aggiornamento piuttosto costosi. È consigliabile disabilitare le notifiche rimuovendo il componente che li registra dall'elenco di avvio o modificando la configurazione nelle app e nei componenti di sistema per disabilitarli. È possibile usare Personalizza icone notifiche per esaminare l'elenco delle notifiche disponibili nel server.

Compressione dei dati di Remote Desktop Protocol

La compressione di Remote Desktop Protocol può essere configurata tramite Criteri di gruppo in Configurazione computer>Modelli amministrativi>Componenti di Windows>Servizi Desktop remoto>Host sessione Desktop remoto>Sessione remota Ambiente>Configurare la compressione per i dati RemoteFX. Sono possibili tre valori:

  • Ottimizzato per usare meno memoria Consuma la quantità minima di memoria per sessione, ma ha il rapporto di compressione più basso e quindi il consumo di larghezza di banda più elevato.

  • Bilancia la memoria e la larghezza di banda di rete Consumo ridotto della larghezza di banda mentre aumenta marginalmente il consumo di memoria (circa 200 kB per sessione).

  • Ottimizzato per usare meno larghezza di banda di rete Riduce ulteriormente l'utilizzo della larghezza di banda di rete a un costo di circa 2 MB per sessione. Se si vuole usare questa impostazione, è necessario valutare il numero massimo di sessioni e testare tale livello con questa impostazione prima di posizionare il server nell'ambiente di produzione.

È anche possibile scegliere di non usare un algoritmo di compressione Remote Desktop Protocol, quindi è consigliabile usarlo solo con un dispositivo hardware progettato per ottimizzare il traffico di rete. Anche se si sceglie di non usare un algoritmo di compressione, alcuni dati grafici verranno compressi.

Reindirizzamento dei dispositivi

Il reindirizzamento dei dispositivi può essere configurato tramite Criteri di gruppo in Configurazione computer>Modelli amministrativi>Componenti di Windows>Servizi Desktop remoto>Host sessione Desktop remoto>Dispositivo e reindirizzamento risorse o utilizzando la casella delle proprietà Raccolta di sessioni in Server Manager.

In genere, il reindirizzamento dei dispositivi aumenta la quantità di connessioni server Host sessione Desktop remoto della larghezza di banda di rete usate perché i dati vengono scambiati tra i dispositivi nei computer client e i processi in esecuzione nella sessione del server. L'estensione dell'aumento è una funzione della frequenza delle operazioni eseguite dalle applicazioni in esecuzione nel server sui dispositivi reindirizzati.

Il reindirizzamento della stampante e il reindirizzamento dei dispositivi Plug and Play aumentano anche l'utilizzo della CPU all'accesso. È possibile reindirizzare le stampanti in due modi:

  • Reindirizzamento basato su driver della stampante corrispondente quando è necessario installare un driver per la stampante nel server. Nelle versioni precedenti di Windows Server è stato usato questo metodo.

  • Introdotto in Windows Server 2008, il reindirizzamento del driver della stampante Easy Print usa un driver di stampante comune per tutte le stampanti.

È consigliabile usare il metodo Easy Print perché comporta un utilizzo inferiore della CPU per l'installazione della stampante in fase di connessione. Il metodo driver corrispondente causa un aumento dell'utilizzo della CPU perché richiede che il servizio spooler carichi driver diversi. Per l'utilizzo della larghezza di banda, Easy Print causa un lieve aumento dell'utilizzo della larghezza di banda di rete, ma non abbastanza significativo per compensare gli altri vantaggi di prestazioni, gestibilità e affidabilità.

Il reindirizzamento audio causa un flusso costante di traffico di rete. Il reindirizzamento audio consente inoltre agli utenti di eseguire app multimediali che in genere hanno un utilizzo elevato della CPU.

Impostazioni dell'esperienza client

Per impostazione predefinita, Connessione Desktop remoto (RDC) sceglie automaticamente l'impostazione dell'esperienza corretta in base all'idoneità della connessione di rete tra il server e i computer client. È consigliabile che la configurazione RDC rimanga in Rilevare automaticamente la qualità della connessione.

Per gli utenti avanzati, RDC fornisce il controllo su un'ampia gamma di impostazioni che influenzano le prestazioni della larghezza di banda di rete per la connessione a Servizi Desktop remoto. È possibile accedere alle seguenti impostazioni usando la scheda Esperienza in Connessione Desktop remoto o come impostazioni nel file RDP.

Quando ci si connette a qualsiasi computer, si applicano le seguenti impostazioni:

  • Disabilita sfondo (Disabilita sfondo:i:0) Non mostra lo sfondo del desktop sulle connessioni reindirizzate. Questa impostazione può ridurre significativamente l'utilizzo della larghezza di banda se lo sfondo del desktop è costituito da un'immagine o da altri contenuti con costi significativi per il disegno.

  • Cache bitmap (Bitmapcachepersistenable:i:1) Quando questa impostazione è abilitata, crea una cache lato client di bitmap di cui viene eseguito il rendering nella sessione. Offre un miglioramento significativo sull'utilizzo della larghezza di banda e deve essere sempre abilitato (a meno che non siano presenti altre considerazioni sulla sicurezza).

  • Mostra contenuto delle finestre durante il trascinamento (Disabilita il trascinamento della finestra completa:i:1) Quando questa impostazione è disabilitata, riduce la larghezza di banda visualizzando solo la cornice della finestra anziché tutto il contenuto quando la finestra viene trascinata.

  • Animazione di menu e finestra (Disabilita menu anims:i:1 e Disabilita impostazione cursore:i:1): quando queste impostazioni sono disabilitate, riduce la larghezza di banda disabilitando l'animazione nei menu (ad esempio dissolvenza) e cursori.

  • Smoothing dei tipi di carattere (Consenti lo smoothing del carattere:i:0) Controlla il supporto per il rendering dei tipi di carattere ClearType. Quando ci si connette ai computer che eseguono Windows 8 o Windows Server 2012 e versioni successive, l'abilitazione o la disabilitazione di questa impostazione non ha un impatto significativo sull'utilizzo della larghezza di banda. Tuttavia, per i computer che eseguono versioni precedenti a Windows 7 e Windows 2008 R2, l'abilitazione di questa impostazione influisce significativamente sul consumo della larghezza di banda di rete.

Le impostazioni seguenti si applicano solo quando ci si connette ai computer che eseguono Windows 7 e versioni precedenti del sistema operativo:

  • Composizione desktop Questa impostazione è supportata solo per una sessione remota in un computer che esegue Windows 7 o Windows Server 2008 R2.

  • Stili di visualizzazione (disabilita temi:i:1) Quando questa impostazione è disabilitata, riduce la larghezza di banda semplificando i disegni dei temi che usano il tema classico.

Usando la scheda Esperienza all'interno di Connessione Desktop remoto, è possibile scegliere la velocità di connessione per influenzare le prestazioni della larghezza di banda di rete. Di seguito sono elencate le opzioni disponibili per configurare la velocità di connessione:

  • Rileva automaticamente la qualità della connessione (tipo di connessione:i:7) Quando questa impostazione è abilitata, Connessione Desktop remoto sceglie automaticamente le impostazioni che consentiranno di ottenere un'esperienza utente ottimale in base alla qualità della connessione. Questa configurazione è consigliata per la connessione ai computer che eseguono Windows 8 o Windows Server 2012 e versioni successive.

  • Modem (56 Kbps) (Tipo di connessione:i:1) Questa impostazione abilita la memorizzazione nella cache bitmap persistente.

  • Banda larga a bassa velocità (256 Kbps - 2 Mbps) (Tipo di connessione:i:2) Questa impostazione abilita la memorizzazione nella cache bitmap persistente e gli stili di visualizzazione.

  • Cellulare/Satellite (2 Mb - 16 Mbps con latenza elevata) (Tipo di connessione:i:3) Questa impostazione abilita la composizione desktop, la memorizzazione nella cache bitmap persistente, gli stili di visualizzazione e lo sfondo del desktop.

  • Banda larga ad alta velocità (2 Mbps - 10 Mbps) (Tipo di connessione:i:4) Questa impostazione abilita la composizione del desktop, mostra il contenuto delle finestre durante il trascinamento, l'animazione di menu e finestra, la memorizzazione nella cache bitmap persistente, gli stili di visualizzazione e lo sfondo del desktop.

  • WAN (10 Mbps o superiore con latenza elevata) (Tipo di connessione:i:5) Questa impostazione abilita la composizione desktop, mostra il contenuto delle finestre durante il trascinamento, l'animazione di menu e finestra, la memorizzazione nella cache bitmap persistente, gli stili di visualizzazione e lo sfondo del desktop.

  • LAN (10 Mbps o superiore) (Tipo di connessione:i:6) Questa impostazione abilita la composizione del desktop, mostra il contenuto delle finestre durante il trascinamento, l'animazione di menu e finestra, la memorizzazione nella cache bitmap persistente, i temi e lo sfondo del desktop.

Dimensioni del desktop

Le dimensioni del desktop per le sessioni remote possono essere controllate tramite la scheda Visualizza in Connessione Desktop remoto o usando il file di configurazione RDP (desktopwidth:i:1152 e desktopheight:i:864). Maggiore è la dimensione del desktop, maggiore è il consumo di memoria e larghezza di banda associato a tale sessione. La dimensione massima corrente del desktop è 4096 x 2048.