Si 100 usuarios solicitaron 100 archivos de 100Mb (almacenada a través de FILESTREAM) dentro de una segunda ventana 10, sería de rendimiento de SQL Server 2008 a paso de tortuga?
¿En qué tipo de servidor? ¿Qué tipo de hardware servir esos archivos? ¿Qué tipo de discos, red, etc.? Tantas preguntas .......
Hay una muy buena publicación de Paul Randal en SQL Server 2008: FILESTREAM Performance - compruébalo. También hay un 25-page whitepaper on FILESTREAM disponible, que también cubre algunos consejos de ajuste del rendimiento.
Pero también echa un vistazo a la Investigación TechReport Microsoft To BLOB or Not To BLOB.
Es un artículo muy profundo y muy bien basado que puso todas esas preguntas a su alcance.
Su conclusión:
El estudio indica que si los objetos son más grande que un megabyte en promedio, NTFS tiene una clara ventaja sobre SQL Server. Si los objetos son en 256 kilobytes, la base de datos tiene , una clara ventaja. Dentro de este rango, depende de la intensidad de escritura de la carga de trabajo y de la edad de almacenamiento de una réplica típica de en el sistema.
Por lo tanto, a juzgar por eso, si sus blobs son generalmente menos de 1 MB, simplemente guárdelos como VARBINARIO (MÁXIMO) en la base de datos. Si son generalmente más grandes, solo la característica FILESTREAM.
no me preocupe tanto de rendimiento más que otros beneficios de más de FILESTREAM de almacenamiento "no administrado" en una carpeta de archivos NTFS: el almacenamiento de archivos fuera de la base de datos sin FILESTREAM, que no tiene control sobre ellos:
- sin control de acceso proporcionado por la base de datos
- los archivos no son parte de su copia de seguridad de SQL Server
- los archivos no se manejan transaccionalmente, por ejemplo usted podría terminar con los archivos "zombi", que no se hace referencia a partir de la base de datos más o entradas de "esqueleto" en la base de datos sin el archivo correspondiente en el disco
Esas características por sí solas hacen que sea absolutamente vale la pena utilizar FILESTREAM.
Creo que su rendimiento de lectura será comparable a un directorio compartido común. Sin embargo, su rendimiento de inserción/actualización puede variar dramáticamente dependiendo de su carga de trabajo b/c SQL Server mantiene la integridad transaccional con los archivos. Definitivamente agregaría insertar/actualizar/eliminar a su lista de pruebas –