Puesto que es difícil hacer que MSDeploy se ejecute a través de un proxy, he hecho el proceso más obvio simplemente usando un archivo enorme (750MB).
Para el servicio de agente (http://localhost:80/MsDeployAgentService
), puedo confirmar que no carga todo el paquete. Si elimino el archivo del servidor (localhost), la implementación demora ~ 25 segundos. Una vez que el archivo ya está allí, la implementación es casi instantánea. Dadas las especificaciones de mi máquina, no hay manera de que transfiera 750mb a la memoria en ese momento (mucho menos transfiriéndolo a través de HTTP).
Actualización También puedo confirmar el mismo comportamiento al implementar en un servicio remoto (aunque la misma red) MsDeploy.axd
. La implementación inicial fue de 50 segundos, la siguiente implementación fue < de 1 segundo.
Actualización 2 Kristina Olson del equipo IIS confirmó esto en her comment:
Web Implementar hace su sincronización incremental 2 partes, por lo que en primera parte se envía solo metadatos sobre el contenido del archivo en el paquete para determinar qué archivos realmente necesitan actualización, de modo que en la segunda parte solo se envían esos archivos de actualización incremental por cable. Básicamente los metadatos de cada archivo (cosas como nombre, tamaño, escribir a tiempo) se envía a través del cable, pero el contenido real del archivo no es menos que el archivo necesita una reforma
Claro, por qué no. Tener 215 repeticiones (¡con 1 minuto de sobra!) –