A través de un problema de rendimiento en un servidor de uno de nuestros clientes y revisando los diferentes servicios que podrían estar causando esta anomalía nos dimos cuenta que esto lo estaba causando el Reporting Service. El Servicio de Reportes, en castellano, al igual que nuestro motor de base de datos de SQL Server también puede comerse toda la memoria disponible del servidor por lo que es necesaria una buena configuración. Te contamos como hacerlo:
Como ya habrás comprobado no hay ninguna opción en el entorno gráfico de nuestro Reporting Service dónde podamos modificar este tipo de parámetros. Para poder modificar los valores de memoria necesitamos localizar el archivo de configuración RsReportServer.config en nuestro servidor. Normalmente dicho fichero se encuentra en la carpeta MSRS00.XXXX\Reporting Services\ReportServer donde 00 es la versión del RS y XXXXX es el nombre de la instancia:
Una vez localizado el fichero procedemos a abrirlo para su modificación con el Notepad o cualquier editor de texto (realizando una copia de seguridad previamente, no vayamos a liarla):
Dentro de la etiqueta <Service> podemos agregar nuestros parámetros “WorkingSetMinimum” (Cantidad máxima de memoria a utilizar antes de rechazar conexiones) y “WorkingSetMaximum” (cantidad mínima de memoria asignada a Reporting Service en su inicio) en kilobytes. Por ejemplo:
<WorkingSetMaximum>8000000</WorkingSetMaximum>
<WorkingSetMinimum>4000000</WorkingSetMinimum>
Microsoft también nos proporciona más parámetros como “MemoryThreshold” y “MemorySafetyMargin” para personalizar la gestión de la memoria en nuestro Reporting Service. Puedes ampliar toda esta información en :
IMPORTANTE. No olvides dejar una cantidad sensata de memoria libre para el propio sistema operativo y que para que nuestros cambios en el fichero config tengan efecto debemos reiniciar el servicio de Reporting Services.
No sabíamos que se podía limitar esto, genial muchas gracias!