¿Hay un tamaño de porción óptimo para procesar archivos de gran tamaño? Tengo un servicio de carga (WCF) que se utiliza para aceptar cargas de archivos que van desde varios cientos de megabytes.Cómo calcular el tamaño de porción óptimo para cargar archivos de gran tamaño
He experimentado con tamaños de bloques de 4KB, 8KB a 1MB. Los tamaños de porción más grandes son buenos para el rendimiento (procesamiento más rápido), pero a costa de la memoria.
Entonces, ¿hay alguna forma de calcular el tamaño óptimo de los fragmentos en el momento de cargar los archivos? ¿Cómo haría uno para hacer tales cálculos? ¿Sería una combinación de memoria disponible y el ancho de banda del cliente, la CPU y la red lo que determina el tamaño óptimo?
Saludos
EDIT: Probablemente debería mencionar que la aplicación cliente estará en Silverlight.
Bueno, me refería más a las máquinas cliente (sobre las que no tenemos ningún control). Si configuro el tamaño del fragmento para decir 1MB, consumirá toda la memoria en la máquina cliente. Pero si lo ajusto a bajo, llevará mucho tiempo procesarlo. – Fixer
¡Oh! con una máquina cliente, es mucho más simple. La simultaneidad es casi inexistente. Siempre y cuando no guardes los bits en la memoria después de que los obtengas, puedes usar prácticamente cualquier tamaño de fragmento que desees. Cualquier cliente moderno, incluso un teléfono, tiene suficiente CPU y memoria para manejar algunos archivos, siempre y cuando transfiera los bits al almacenamiento después de obtener cada fragmento. Dudo que veas una diferencia significativa en el rendimiento en el nivel de aplicación en función del tamaño del fragmento. Me gustaría ir con 1024 KB para archivos grandes y llamarlo por día. –