Se 100 utenti hanno chiesto 100 file 100Mb (memorizzati tramite FILESTREAM) all'interno di una seconda finestra 10, sarebbe SQL Server 2008 un rallentamento delle prestazioni a passo d'uomo?
Su che tipo di server ?? Che tipo di hardware serve per questi file? Che tipo di dischi, rete ecc. ?? Tante domande .......
C'è un post sul blog davvero buono di Paul Randal su SQL Server 2008: FILESTREAM Performance - dai un'occhiata. È disponibile anche un 25-page whitepaper on FILESTREAM, che copre anche alcuni suggerimenti per l'ottimizzazione delle prestazioni.
Ma controlla anche il rapporto di ricerca Microsoft To BLOB or Not To BLOB.
È un articolo molto profondo e molto ben fatto che mette tutte queste domande al loro esame.
La loro conclusione:
Lo studio indica che, se gli oggetti sono più grandi di un megabyte sul media, NTFS ha un chiaro vantaggio su SQL Server. Se gli oggetti sono sotto 256 kilobyte, il database ha un chiaro vantaggio. All'interno di questo intervallo, dipende da quanto è impegnativo il carico di lavoro e l'età di archiviazione di una replica tipica nel sistema.
Quindi, a giudicare da ciò, se i BLOB sono in genere inferiori a 1 MB, archiviarli come VARBINARY (MAX) nel database. Se sono generalmente più grandi, solo la funzione FILESTREAM.
Io non mi preoccuperei tanto di prestazioni piuttosto che altri benefici di FILESTREAM oltre archiviazione "non gestito" in una cartella di file NTFS: la memorizzazione di file al di fuori del database senza FILESTREAM, si ha alcun controllo su di loro:
- nessun controllo di accesso fornito dal database
- i file non fanno parte del backup di SQL Server
- i file non vengono gestiti a livello di transazione, ad es. si potrebbe finire con i file di "zombie", che non si fa riferimento dal database più, o le voci di "scheletro" nel database senza il file corrispondente sul disco
alone Tali caratteristiche lo rendono assolutamente la pena di utilizzare FILESTREAM.
fonte
2009-12-29 21:42:34
Penso che la tua prestazione di lettura sarà paragonabile a una normale directory condivisa. Tuttavia, le prestazioni di inserimento/aggiornamento potrebbero variare notevolmente a seconda del carico di lavoro. B/c SQL Server mantiene l'integrità delle transazioni con i file. Aggiungo sicuramente insert/update/delete alla tua lista di test –