Pregunta

Tenemos un legado WSE3 ASP.Net servicio web aquí que define un método GetFileContent(string fileName). Lo que hace es comprobar una ruta predefinida para un archivo con el nombre pasado, leer su contenido, base 64 a codificar y enviar de vuelta que cosas codificada como respuesta.

Por desgracia, todo el proceso lleva mucho tiempo (variable). He escrito una aplicación cliente de consola que los puntos de referencia del rendimiento en la demanda: A veces 2.5Megs son transferidos dentro de los 12 segundos, a veces se tarda 40. Otro RAN 27Meg-archivo a través de 16 segundos de ayer, hoy se llevó> 1 min.

Otras cosas que he comprobado:

  • CPU y el rendimiento de intercambio no son dignas de mención (en el seguimiento, las miradas de la máquina aburrido)

  • velocidad de la red es suficiente.

  • La llamada al método se realiza inmediatamente después de que el cliente ha enviado la solicitud.

  • La lectura y codificación toma un promedio de 500 ms para un archivo de gran tamaño, por lo que la declaración de retorno también se realiza inmediatamente después de la solicitud.

  • Otro cliente (Java-based) es aún más lenta, así que supongo que podría ser un problema del cliente.

¿Alguien tiene una idea de dónde buscar siguiente para conseguir detrás de este desagradable uno? Se siente como problemas de IIS, de verdad ...

Muchas gracias de antemano ...

¿Fue útil?

Solución

En primer lugar, sólo para asegurarse de:. Espero que eres consciente de que WSE es obsoleto

En segundo lugar, WSE se basa en la tecnología de ASMX. Esto tiene grandes problemas con las solicitudes, ya que duplicar los datos entrantes cuatro o más veces en el camino hacia el servicio. Sin embargo grandes sus datos son, asumen que se tardará al menos cuatro veces más memoria, antes de que el servicio aún obtiene sus manos en él.

La solución consiste en actualizar a WCF.

Otros consejos

Creo que no hay ningún problema en IIS. Sospecho que a veces se tardó más tiempo para resolver la IP, si se da ruta ruta compartida en lugar de la ruta real.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top