Lentezza delle prestazioni del disco se Ŕ abilitata la cache in scrittura

Traduzione articoli Traduzione articoli
Identificativo articolo: 332023 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Le prestazioni di determinate operazioni di scrittura sul disco rigido potrebbero essere pi¨ lente del previsto se il disco rigido implementa la cache in scrittura e il computer utilizza uno qualsiasi dei seguenti sistemi operativi:
  • Windows 2000 Service Pack 3 (SP3)
  • Windows 2000 Service Pack 2 (SP2) in cui Ŕ installato l'hotfix descritto nel seguente articolo della Microsoft Knowledge Base:
    281672 Possibile perdita di dati dopo l'abilitazione della funzionalitÓ "Cache in scrittura attivata"
  • Windows XP
In modo specifico le prestazioni di scrittura del disco rigido potrebbero essere pi¨ lente rispetto alle versioni di Windows 2000 precedenti al Service Pack 3. In un computer cluster, inoltre, le operazioni di scrittura del disco rigido verso dischi condivisi potrebbero causare grandi differenze nelle prestazioni di scrittura tra ogni nodo.

Cause

Alcune versioni di Windows 2000 precedenti al Service Pack 3 contengono un errore che inibisce l'emissione di alcuni comandi al disco. Questi comandi vengono inviati solo per i dischi in cui Ŕ attiva la cache in scrittura. Tali comandi comportano la scrittura immediata di dati particolarmente importanti in periferiche disco anzichŔ la loro memorizzazione temporanea nella cache write-behind del disco.

Per ulteriori informazioni su questo errore, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
281672 Possibile perdita di dati dopo l'abilitazione della funzionalitÓ "Cache in scrittura attivata"

L'hotfix descritto nell'articolo 281672 della Microsoft Knowledge Base corregge l'errore e fa sý che questi comandi vengano inviati al disco come previsto quando Ŕ attiva la cache in scrittura. La correzione Ŕ inclusa in Windows 2000 SP3. Una correzione analoga Ŕ inclusa anche in Windows XP.

In base alla progettazione questi comandi rallentano le prestazioni a vantaggio della protezione dei dati importanti. Hanno infatti lo scopo di scrivere immediatamente sul disco i dati di importanza cruciale. I comandi vengono inviati solo se la cache di scrittura Ŕ abilitata per una periferica disco specifica e se pu˛ venire rilevata tramite meccanismi standard. Se questo comportamento viene implementato nei dischi in cui la cache di scrittura Ŕ abilitata, si verificherÓ un rallentamento delle prestazioni durante alcune operazioni del disco. Per ulteriori dettagli vedere la sezione "Informazioni" di questo articolo. In un computer cluster inoltre le informazioni su disco rigido potrebbero non essere inviate a un nodo che richiede pi¨ di una risorsa cluster quando la risorsa viene terminata. Per questo motivo vi sono delle differenze nelle prestazioni delle operazioni di scrittura su disco rigido tra ogni nodo.

Risoluzione

Per i computer in cui Ŕ installato Windows 2000

Avviso: se si implementa questa correzione (installando i driver aggiornati e attivando l'opzione Power Protected per la cache in scrittura), vengono rimosse le protezioni incorporate nei driver dei dischi di Windows 2000 per garantire che i dati critici siano scritti immediatamente su disco invece di essere scritti in un secondo tempo dalla cache incorporata del disco. Non implementare questa correzione se il computer e qualsiasi disco rigido connesso sono protetti da un'interruzione di alimentazione accidentale o casuale grazie alla struttura hardware che potrebbe comprendere funzionalitÓ quali alimentatori che si appoggiano su batterie ridondanti. Contattare i fornitori del computer e delle periferiche di archiviazione per determinare il grado di protezione supportato dall'hardware. Non implementare la correzione prima di avere compreso e accettato il livello di rischio che potrebbe essere presente ed essere certi che questo rischio venga ridotto mediante un'appropriata protezione dell'alimentazione hardware. In un computer cluster inoltre le differenze di prestazioni nelle operazioni di scrittura sul disco rigido verso dischi condivisi tra nodi possono essere risolte impostando l'opzione Power Protected per la cache in scrittura in ogni nodo.

Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
281672 Possibile perdita di dati dopo l'abilitazione della funzionalitÓ "Cache in scrittura attivata"

Parte 1: installazione dell'aggiornamento per Windows 2000

╚ disponibile una funzionalitÓ che modifica il comportamento predefinito del prodotto e che Ŕ tuttavia destinata esclusivamente alla correzione del problema descritto in questo articolo. Applicarla solo nei computer in cui Ŕ effettivamente necessaria. ╚ possibile che su questa funzionalitÓ vengano eseguiti ulteriori test. Se pertanto l'assenza della funzionalitÓ non causa gravi difficoltÓ, si consiglia di attendere la versione successiva del service pack di Windows 2000 contenente tale funzionalitÓ.

Per procurarsi la funzionalitÓ immediatamente, contattare il Servizio Supporto Tecnico Clienti Microsoft. Per un elenco completo di numeri di telefono del Servizio Supporto Tecnico Clienti Microsoft e per informazioni sui costi dell'assistenza, visitare il seguente sito Web Microsoft:
http://support.microsoft.com/contactus/?ws=support
La versione in lingua inglese di questa correzione presenta gli attributi di file elencati nella tabella seguente (o attributi successivi). Date e ore elencate di seguito sono espresse in UTC. Quando si visualizzano le informazioni sui file, l'ora viene convertita in ora locale. Per calcolare la differenza tra l'ora UTC e quella locale, utilizzare la scheda Fuso orario dello strumento Data e ora del Pannello di controllo.
   Data        Ora    Versione       Dimensioni  Nome file
   ----------------------------------------------------------
   15/01/2003  19.42  5.0.2195.6655      34.832  Classpnp.sys
   15/01/2003  19.43  5.0.2195.6655      30.768  Disk.sys
Nota I file inclusi in questo hotfix hanno numeri di versione posteriori al Service Pack 3, ma possono essere utilizzati nei computer basati su Windows 2000 SP2 e su Windows SP3. L'hotfix verrÓ installato sia nei computer basati su Windows 2000 SP2 che in quelli basati su Windows 2000 SP3.

Parte 2: Configurazione dell'opzione Power Protected per la cache in scrittura

Dopo l'installazione dell'aggiornamento per Windows 2000 e il riavvio del computer per il caricamento dei driver aggiornati, Ŕ anche necessario attivare l'opzione Power Protected per la cache in scrittura per ogni disco in cui la cache in scrittura sia abilitata e in cui sia protetta dall'interruzione di alimentazione accidentale. Se l'opzione Power Protected non Ŕ attiva, questo aggiornamento non implicherÓ alcuna modifica nel comportamento o nelle prestazioni del disco.

Per configurare l'opzione Power Protected per la cache in scrittura nei dischi selezionati, utilizzare lo strumento Dskcache.exe. Dskcache.exe Ŕ disponibile separatamente. Per ulteriori informazioni sullo strumento Dskcache.exe e sull'attivazione dell'opzione Power Protected per la cache in scrittura, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
811392 Download dello strumento Dskcache.exe per la configurazione dell'opzione "Power Protected" per la cache write-behind
Nota L'opzione Power Protected per la cache in scrittura pu˛ essere abilitata solo per i dischi attualmente disponibili. Per impostazione predefinita, l'opzione Ŕ disabilitata. Di conseguenza, questa opzione Ŕ disabilitata per tutti i dischi che potrebbero essere aggiunti dopo l'applicazione di questa impostazione. Nel caso in cui vengano aggiunti ulteriori dischi, attivare l'opzione Power Protected per la cache in scrittura per i dischi aggiunti affinchÚ l'impostazione abbia effetto.

Per i computer in cui Ŕ installato Windows XP

A causa di differenze di progettazione tra Windows 2000 e Windows XP, non Ŕ previsto il rilascio di un aggiornamento di questo comportamento per Windows XP.

Status

Si tratta di un comportamento legato alla progettazione del prodotto.

Informazioni

Molte periferiche disco forniscono prestazioni avanzate grazie all'impiego di una cache incorporata che esegue il read-ahead per i dati in fase di lettura dal disco e il write-behind (detto anche "scrittura rimandata" o "scrittura Lazy") per i dati in fase di scrittura sul disco. In alcuni casi Ŕ importante che i dati vengano scritti sul disco fisico immediatamente e non conservati nella cache in scrittura incorporata nel disco perchÚ vengano scritti successivamente durante un momento di inattivitÓ. In questo modo si impedisce ad esempio la perdita o la corruzione dei dati se il disco o il controller (in ogni caso in cui viene implementata la cache in scrittura) subiscono improvvisamente un'interruzione di alimentazione.

I comandi che vengono utilizzati per scrivere immediatamente sul disco fisico i dati contenuti nella cache sono due:
  • Il comando flush buffers, disponibile per periferiche disco SCSI e IDE/ATAPI, fa in modo che i dati contenuti nella cache vengano scritti sul disco immediatamente. Per i dischi SCSI l'implementazione avviene inviando il comando SYNCHRONIZE CACHE per il disco. Per i dischi IDE/ATAPI il comando FLUSH CACHE viene inviato al disco. Questo comando viene solitamente inviato quando un programma Windows esegue la chiamata all'API FlushFileBuffers. La scrittura nel Registro di sistema Ŕ un esempio di operazione che determina la chiamata dell'API FlushFileBuffers e l'invio del comando SYNCHRONIZE CACHE al disco.
  • Il comando Write Through, disponibile solo per periferiche disco SCSI, viene implementato inviando il comando WRITE al disco con il bit FUA (ForceUnitAccess). Questo tipo di comando fa sý che il pacchetto corrente di dati venga scritto immediatamente sul disco, ignorando la cache in scrittura incorporata. Questa evenienza si verifica in genere come conseguenza di un programma Windows che chiama l'API WriteFile per la scrittura in un file aperto dalla chiamata dell'API CreateFile con il flag FILE_FLAG_WRITE_THROUGH. In genere i programmi antivirus aprono i file con il flag FILE_FLAG_WRITE_THROUGH impostato. Il supporto per il bit FUA Ŕ facoltativo ed Ŕ implementato solo in alcune periferiche SCSI e a fibra ottica, di solito unitÓ singole piuttosto che volumi RAID.
In base alla progettazione, questi comandi abbassano il livello delle prestazioni che verrebbe invece garantito dalla cache in scrittura incorporata nel disco, per privilegiare la protezione dei dati che vengono scritti sul disco. Se i dati non venissero scritti sul disco immediatamente grazie a questi comandi e si verificasse un'improvvisa interruzione dell'alimentazione, andrebbero persi e il file in fase di scrittura ne sarebbe danneggiato.

Nelle versioni di Windows 2000 precedenti al Service Pack 3, questi comandi non sono inviati correttamente alle periferiche disco al momento previsto. Ad esempio, il comando SYNCHRONIZE CACHE non viene inviato a un disco quando un programma chiama l'API FlushFileBuffers e il bit FUA non Ŕ impostato per i comandi WRITE quando il file Ŕ aperto con il flag FILE_FLAG_WRITE_THROUGH. L'hotfix descritto nell'articolo 281672 della Microsoft Knowledge Base risolve il problema, pertanto questi comandi vengono inviati correttamente e, di conseguenza viene garantita la protezione di dati importanti prevista.

Nota In Microsoft SQL Server si utilizza in modo sostanziale il flag FILE_FLAG_WRITE_THROUGH nei dati di database locali, nei file di registro e nei file di backup. I dati dei database locali potrebbero comprendere i dati delle unitÓ SCSI e SAN, ma non quelli delle unitÓ NAS. Se la funzionalitÓ di archiviazione della protezione dell'alimentazione non Ŕ abilitata per l'hardware che protegge la relativa cache write-through, le prestazioni di SQL Server potranno essere influenzate durante l'utilizzo del punto di arresto di un database di grandi dimensioni.

Quando l'opzione Cache in scrittura attivata Ŕ configurata per una periferica disco in Gestione periferiche, si verificano due situazioni:
  • Un comando per l'attivazione o la disattivazione della cache in scrittura viene inviato alla periferica disco.
  • Un valore del Registro di sistema viene salvato e utilizzato per determinare se inviare o meno i comandi di gestione della cache in scrittura (Flush, Write-Through) al disco.
L'hotfix descritto nel presente articolo fornisce un'ulteriore opzione di configurazione, vale a dire l'opzione Power Protected per la cache in scrittura. Quando le opzioni di cache in scrittura e Power Protected sono attive, la cache in scrittura su disco viene attivata e riconosciuta come tale dal driver del disco, ma quest'ultimo non invia i comandi di gestione della cache in scrittura (Flush, Write-Through) al disco. In questo modo si evitano prestazioni ridotte che si verificherebbero altrimenti per lo svuotamento dei dati dalla cache in scrittura al supporto del disco, ma c'Ŕ il rischio di perdita o corruzione dei dati del disco se si verifica un'interruzione dell'alimentazione mentre sono ancora presenti nella cache in scrittura del disco dati che non sono stati scritti sul disco.

La tabella riportata di seguito riassume gli effetti delle opzioni della cache in scrittura e di protezione dell'alimentazione:
Riduci questa tabellaEspandi questa tabella
Cache in scrittura Protezione dell'alimentazione
Effetto
Disabilitata N/D Il disco non scrive nella cache.
Il driver non invia i comandi Flush/Write-Through.
(L'unico comportamento possibile per le unitÓ in cui la cache in scrittura non Ŕ abilitata.)
Abilitata Disabilitata Il disco scrive nella cache.
Il driver invia comandi Flush/Write-Through.
(Il comportamento predefinito secondo il Service Pack 3 e con questo aggiornamento applicato, per le unitÓ in cui la cache in scrittura Ŕ abilitata nell'hardware.)
Abilitata Abilitata Il disco scrive nella cache.
Il driver non invia i comandi Flush/Write-Through.
(Comportamento risultante da un errore precedente al Service Pack 3, per unitÓ in cui la cache in scrittura Ŕ abilitata nell'hardware.)

ProprietÓ

Identificativo articolo: 332023 - Ultima modifica: venerdý 22 dicembre 2006 - Revisione: 12.1
Le informazioni in questo articolo si applicano a
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows 2000 Service Pack 3
  • Microsoft Windows 2000 Service Pack 2
  • Microsoft Windows 2000 Service Pack 3
  • Microsoft Windows 2000 Service Pack 2
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Service Pack 3
Chiavi:á
kbbug kbfix kbqfe kbhotfixserver KB332023
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com