2009-05-08 28 views
13

Tenemos un informe de 2005 que puede ser de 2 a alrededor de 250 páginas, con un promedio en el estadio de 10. Cuando se desarrolló el informe, nuestro desarrollador recibió 10 páginas o más, el número correcto, y sin conocer muy bien el dominio de los negocios, decidió que informar los servicios era el enfoque correcto.Reporting Services Tiempo de espera del informe

Ahora que el informe se ha implementado en PROD, tenemos algunas quejas de que el informe se agote. Ni el desarrollador ni yo estamos terriblemente sorprendidos dado el tamaño del informe que se solicita (250 páginas).

Mi pregunta es, ¿qué opciones tenemos para usar nuestro informe actual que funciona el 95% del tiempo y hacerlo funcionar para el 5% restante? ¿Hay opciones de configuración en cualquier lugar para mejorar el rendimiento de la representación o algo así?

El informe se utiliza para el retorno autorizaciones por lo que el tamaño de los retornos puede muy. Cada página de autorización tiene 4 etiquetas de devolución diferentes con logotipos y códigos de barras.

Para aclarar:

El informe se representa con bastante rapidez de los servicios de informes al visor de informes, pero cuando se exportan a PDF es cuando se tarda un poco en cargar.

+1

La lectura de este pensé que era un compañero de trabajo escribir esto, ya que tengo casi la misma situación exacta ... – CaffGeek

+0

que tenían el mismo problema aquí. Recibía un error de tiempo de espera de ejecución de solicitud de HTTP porque estaba tratando de procesar el informe a través del servicio web de asmx. Acabo de instalar el RDP en el servidor y lo ejecuté desde http: // localhost/reports y lo exporté a PDF correctamente porque el tiempo de espera de ejecución para ese sitio es de 9000 segundos. Solo aumentar el tiempo de espera de ejecución para mi sitio de llamadas también lo habría solucionado, pero no quería modificar el archivo web.config, lo que ocasionó que el servidor actualizara todas las sesiones y arrancara todo el equipo, etc. –

Respuesta

3

Hay una configuración de tiempo de espera de ejecución de informe para cada informe en SSRS. De forma predeterminada, están configurados para usar la configuración predeterminada del sistema, pero se pueden personalizar a través del administrador de informes o SSMS.

¿Estás seguro de que no es un tiempo de espera de comando de la base de datos? Eso podría ajustarse en la cadena de conexión. ¿Es el informe ineficiente o la consulta? 250 páginas para un informe de SSRS realmente no es tan malo. Ejecutamos informes tan grandes a menudo. SSRS realmente supera a la mayoría de los otros motores de informes que usamos.

+0

Definitivamente no es un tiempo de espera de la base de datos. Los datos se recuperan muy rápido. Estoy intentando aumentar el tiempo de espera para el informe en sí. – RSolberg

20

Puede jugar con cualquiera de los siguientes:

1) Modificar sessionTimeout y SessionAccessTimeout propiedades del sistema.

Aquí es un script de ejemplo para rs.exe que establecer estos valores para usted:

Public Sub Main() 
    Dim props() as [Property] 
    props = new [Property]() { new [Property](), new [Property]() } 

    props(0).Name = "SessionTimeout" 
    props(0).Value = timeout 

    props(1).Name = "SessionAccessTimeout" 
    props(1).Value = timeout 

    rs.SetSystemProperties(props) 
End Sub 

Puede ejecutar este script con el siguiente comando:

rs -i sessionTimeout.rss -s http://yourserver.com/reportserver -v timeout="6000" 

El tiempo de espera se expresa en segundos, por lo que este ejemplo establece SessionTimeout y SessionAccessTimeouts en aproximadamente una hora y media.

(a través de http://blogs.msdn.com/b/jgalla/archive/2006/10/11/session-timeout-during-execution.aspx)

2) Informe de Cambio de tiempo de espera de ejecución a través del Administrador de informes Informe Abra el Administrador En la parte superior de la página, haga clic en Configuración del sitio. Esto abre la página de Propiedades generales del sitio.

Tiempo de espera de ejecución de informe Especifique si el procesamiento del informe se agota después de un determinado número de segundos. (a través de http://msdn.microsoft.com/en-us/library/ms181194.aspx)

3) Establecer la HttpRuntime ExecutionTimeout

  1. Abrir el archivo Web.config del servidor de informes, vaya a Inicio -> Herramientas administrativas -> Internet Information Server.
  2. Desde allí, expanda Sitios web -> Sitio web predeterminado, y haga clic en ReportServer. En el panel de la derecha, haga clic con el botón derecho en 'Web.Config' y seleccione 'Abrir'.
  3. Busque el parámetro HttpRuntime. Si no existe, tendrá que crearlo dentro de la sección.
  4. establecer el valor executionTimeout a '10800' (3 horas) como se muestra a continuación:
<system.web> 
    <httpRuntime executionTimeout = "10800" /> 
</system.web> 

4) Aumentar el tiempo de espera de secuencia de comandos en el servidor de informes

  1. ir hacia su Servidor de Informes y abrir Servicios de Información de Internet; haga clic derecho en ReportServer y seleccione Propiedades.
  2. Vaya a la pestaña Opciones y configure el tiempo de espera del script ASP en 300 segundos (esto realmente no funcionó).

5) Establecer el informe nunca el tiempo de espera en el servidor

  1. Abra el navegador web en el servidor y vaya a http://yourserver.com/Reports
  2. Vaya a la ubicación informe y haga clic en el problema informes).
  3. En el panel de la izquierda, haga clic en Propiedades.
  4. En el 'Tiempo de espera de ejecución del informe', haga clic en 'No ejecutar el informe de ejecución'. (a través de http://geekswithblogs.net/ssrs/archive/2009/10/30/steps-to-resolve-ssrs-timeout-issues.aspx)
Cuestiones relacionadas