Configurar la memoria disponible para las aplicaciones del servidor de informesConfigure Available Memory for Report Server Applications

Aunque Reporting ServicesReporting Services puede usar toda la memoria disponible, puede invalidar el comportamiento predeterminado configurando un límite superior en la cantidad total de los recursos de memoria asignados a las aplicaciones de servidor Reporting ServicesReporting Services .Although Reporting ServicesReporting Services can use all available memory, you can override default behavior by configuring an upper limit on the total amount of memory resources that are allocated to Reporting ServicesReporting Services server applications. También puede establecer umbrales que hacen que el servidor de informes cambie la manera de asignar prioridades y procesa las solicitudes dependiendo de si la presión de memoria es baja, media o alta.You can also set thresholds that cause the report server to change how it prioritizes and processes requests depending on whether it is under low, medium, or heavy memory pressure. En niveles bajos de presión de memoria, el servidor de informes responde concediendo una prioridad ligeramente superior al procesamiento de informes a petición o interactivo.At low levels of memory pressure, the report server responds by giving a slightly higher priority to interactive or on-demand report processing. En los niveles altos de presión de memoria, el servidor de informes usa varias técnicas para seguir siendo operativo usando los recursos limitados que están disponibles para él.At high levels of memory pressure, the report server uses multiple techniques to remain operational using the limited resources available to it.

En este artículo se describe la configuración que puede especificar y la manera en la que el servidor responde cuando la presión de memoria se convierte en un factor en las solicitudes de procesamiento.This article describes the configuration settings that you can specify and how the server responds when memory pressure becomes a factor in processing requests.

Directivas de administración de memoriaMemory management policies

Reporting ServicesReporting Services responde a las restricciones de recursos del sistema ajustando la cantidad de memoria que se asigna a aplicaciones concretas y tipos de solicitudes de procesamiento.responds to system resource constraints by adjusting the amount of memory that is allocated to specific applications and types of processing requests. Entre las aplicaciones que se ejecutan en el servicio del servidor de informes y que están sujetas a la administración de memoria se incluyen:Applications that run in the Report Server service and that are subject to memory management include:

  • El portal web, que es una aplicación front-end web para el servidor de informes.The web portal, a Web front-end application for the report server.

  • El servicio web del servidor de informes, que se usa para el procesamiento de informes interactivo y las solicitudes a petición.Report Server Web service, used for interactive report processing and on-demand requests.

  • Una aplicación de procesamiento en segundo plano, que se usa para el procesamiento programado de informes, la entrega de suscripciones y el mantenimiento de bases de datos.A background processing application, used for scheduled report processing, subscription delivery, and database maintenance.

Las directivas de administración de memoria se aplican al servicio del servidor de informes en su conjunto y no a las aplicaciones individuales que se ejecutan dentro del proceso.Memory management policies apply to the Report Server service as a whole, and not to individual applications that run within the process.

Si no hay presión de memoria en el sistema, cada aplicación de servidor solicita memoria al inicio, anticipándose a la recepción de solicitudes, para ofrecer un rendimiento óptimo cuando las solicitudes se reciban a la larga.If there is no memory pressure on the system, each server application requests some memory at startup, in advance of receiving requests, to deliver optimum performance when requests are eventually received. Conforme se genera la presión de memoria, el servidor de informes ajusta su modelo de proceso como se describe en la tabla siguiente.As memory pressure builds, the report server adjusts its process model as described in the following table.

Presión de memoriaMemory pressure Respuesta del servidorServer response
BajaLow Las solicitudes actuales continúan en proceso.Current requests continue to process. Casi siempre se aceptan las nuevas solicitudes.New requests are almost always accepted. A las solicitudes que se dirigen a la aplicación de procesamiento de fondo se les proporciona una prioridad menor que a las solicitudes dirigidas al servicio web del servidor de informes.Requests that are directed to the background processing application are given a lower priority than requests directed to the Report Server Web service.
MediaMedium Las solicitudes actuales continúan en proceso.Current requests continue to process. Se podrían aceptar las nuevas solicitudes.New requests might be accepted. A las solicitudes que se dirigen a la aplicación de procesamiento de fondo se les proporciona una prioridad menor que a las solicitudes dirigidas al servicio web del servidor de informes.Requests that are directed to the background processing application are given a lower priority than requests directed to the Report Server Web service. Se reducen las asignaciones de memoria para las tres aplicaciones de servidor, con reducciones relativamente mayores al procesamiento de fondo para liberar más memoria para solicitudes de servicio web.Memory allocations for all three server applications are reduced, with relatively larger reductions to background processing to make more memory available for Web service requests.
AltaHigh Se reduce aún más la asignación de memoria.Memory allocation is further reduced. Se deniegan las aplicaciones de servidor que solicitan más memoria.Server applications that request more memory are denied. Las solicitudes actuales disminuyen y tardan más tiempo en completarse.Current requests are slowed down and take longer to complete. No se aceptan nuevas solicitudes.New requests are not accepted. El servidor de informes intercambia archivos de datos en memoria al disco.The report server swaps in-memory data files to disk.

Si las restricciones de memoria se vuelven graves y no hay ninguna memoria disponible para controlar las nuevas solicitudes, el servidor de informes devolverá un error no disponible de servidor HTTP 503 mientras se completan las solicitudes actuales.If memory constraints become severe and there is no memory available to handle new requests, the report server will return an HTTP 503 server unavailable error while current requests are completing. En algunos casos, los dominios de aplicación se podrían reciclar para reducir la presión de memoria inmediatamente.In some cases, the application domains might be recycled to immediately reduce memory pressure.

Aunque no puede personalizar las respuestas del servidor de informes a los diferentes escenarios de presión de memoria, puede especificar la configuración que define los límites que separan las respuestas de presión de memoria alta, media y baja.Although you cannot customize the report server responses to different memory pressure scenarios, you can specify configuration settings that define the boundaries that separate high, medium, and low memory pressure responses.

Cuándo personalizar la configuración de administración de memoriaWhen to customize memory management settings

La configuración predeterminada especifica los intervalos desiguales para presión de memoria baja, media y alta.The default settings specify unequal ranges for low, medium, and high memory pressure. De forma predeterminada, la zona de presión de memoria baja es mayor que las zonas para la presión de memoria media y alta.By default, the low memory pressure zone is larger than the zones for medium and high memory pressure. Esta configuración es óptima para las cargas de procesamiento que se distribuyen uniformemente o que crecen o se rechazan de manera incremental.This configuration is optimum for processing loads that are evenly distributed or that grow or decline incrementally. En este escenario, la transición entre las zonas es gradual y el servidor de informes tiene el tiempo de ajustar su respuesta.In this scenario, the transition between zones is gradual and the report server has time to adjust its response.

La modificación de la configuración predeterminada resulta útil si el modelo de carga incluye picos.Modifying the default settings is useful if the load pattern includes spikes. Cuando hay picos repentinos en la carga de procesamiento, el servidor de informes puede pasar de no tener presión de memoria a presentar errores de asignación de memoria muy rápidamente.When there are sudden spikes in the processing load, the report server might go from no memory pressure to memory allocation failures very quickly. Esto puede producirse si tiene varias instancias simultáneas de un informe que usa mucha memoria que empiezan al mismo tiempo.This might occur if you have multiple concurrent instances of a memory-intensive report that start at the same time. Para controlar este tipo de carga de procesamiento, desea que el servidor de informes pase a una respuesta de presión de memoria media o alta lo antes posible de manera que pueda reducir el procesamiento.To handle this type of processing load, you want the report server to move into a medium or high memory pressure response as soon as possible so that it can slow down processing. Esto permite que se completen más solicitudes.This allows more requests to complete. Para ello, debería disminuir el valor para MemorySafetyMargin para hacer la zona de presión de memoria baja menor en relación con las demás zonas.To do this, you should lower the value for MemorySafetyMargin to make the low memory pressure zone smaller relative to the other zones. Si se hace, dará lugar a que las respuestas para presión de memoria media o alta se produzcan antes.Doing so will cause responses for medium and high memory pressure to occur earlier.

Valores de configuración para la administración de memoriaConfiguration settings for memory management

Entre los valores de configuración que controlan la asignación de memoria para el servidor de informes se incluyen WorkingSetMaximum, WorkingSetMinimum, MemorySafetyMarginy MemoryThreshold.Configuration settings that control memory allocation for the report server include WorkingSetMaximum, WorkingSetMinimum, MemorySafetyMargin, and MemoryThreshold.

  • WorkingSetMaximum y WorkingSetMinimum definen el intervalo de memoria disponible.WorkingSetMaximum and WorkingSetMinimum define the range of available memory. Puede configurar estos valores para establecer un intervalo de memoria disponible para las aplicaciones del servidor de informes.You can configure these settings to set a range of available memory for the report server applications. Esto puede resultar útil si está hospedando varias aplicaciones en el mismo equipo y determina que el servidor de informes está usando una cantidad desproporcionada de recursos del sistema en relación con otras aplicaciones del mismo equipo.This can be useful if you are hosting multiple applications on the same computer and you determine that the report server is using a disproportionate amount of system resources relative to other applications on the same computer.

  • MemorySafetyMargin y MemoryThreshold establecen los límites para los niveles bajo, medio, y alto de presión de memoria.MemorySafetyMargin and MemoryThreshold set the boundaries for low, medium, and high levels of memory pressure. Para cada estado, Reporting ServicesReporting Services adopta acciones correctoras para asegurarse de que el procesamiento de informe y otras solicitudes se controlan adecuadamente en relación con la cantidad de memoria disponible en el equipo.For each state, Reporting ServicesReporting Services takes corrective action to ensure report processing and other requests are handled appropriately relative to the amount of memory that is available on the computer. Puede especificar los valores de configuración que determinan la delineación entre los niveles de presión bajo, alto y medio.You can specify configuration settings that determine the delineation between low, high, and medium pressure levels.

    Aunque puede cambiar los valores de configuración, al hacerlo no se mejorará el rendimiento del procesamiento de informes.Although you can change the configuration settings, doing so will not improve report processing performance. El cambio de los valores de configuración solamente resulta útil si se quitan las solicitudes antes de completarlas.Changing the configuration settings is useful only if requests are getting dropped before they complete. La mejor manera de mejorar el rendimiento del servidor es implementar el servidor de informes o las aplicaciones del servidor de informes individuales en equipos dedicados.The best way to improve server performance is to deploy the report server or individual report server applications on dedicated computers.

La ilustración siguiente muestra cómo se usa la configuración en conjunto para distinguir entre los niveles bajo, medio y alto de presión de memoria:The following illustration shows how the settings are used together to distinguish between low, medium, and high levels of memory pressure:

Valores de configuración para el estado de la memoriaConfiguration settings for memory state

En la tabla siguiente se describen las configuraciones WorkingSetMaximum, WorkingSetMinimum, MemorySafetyMarginy MemoryThreshold .The following table describes WorkingSetMaximum, WorkingSetMinimum, MemorySafetyMargin, and MemoryThreshold settings. Los valores de configuración se especifican en el archivo RSReportServer.config.Configuration settings are specified in the RSReportServer.config file.

ElementoElement DescripciónDescription
WorkingSetMaximumWorkingSetMaximum Especifica un umbral de memoria después de que no se conceda ninguna nueva solicitud de asignación de memoria a las aplicaciones del servidor de informes.Specifies a memory threshold after which no new memory allocations requests are granted to report server applications.

De forma predeterminada, el servidor de informes establece WorkingSetMaximum en la cantidad de memoria disponible en el equipo.By default, the report server sets WorkingSetMaximum to the amount of available memory on the computer. Este valor se detecta cuando se inicia el servicio.This value is detected when the service starts.

Este valor no aparece en el archivo RSReportServer.config a menos que lo agregue manualmente.This setting does not appear in the RSReportServer.config file unless you add it manually. Si desea que el servidor de informes use menos memoria, puede modificar el archivo RSReportServer.config y agregar el elemento y el valor.If you want the report server to use less memory, you can modify the RSReportServer.config file and add the element and value. El intervalo de valores válidos es de 0 al entero máximo.Valid values range from 0 to maximum integer. Este valor se expresa en kilobytes.This value is expressed in kilobytes.

Cuando se alcanza el valor de WorkingSetMaximum , el servidor de informes no acepta nuevas solicitudes.When the value for WorkingSetMaximum is reached, the report server does not accept new requests. Las solicitudes que se encuentran en curso actualmente podrán completarse.Requests that are currently in progress are allowed to complete. Las nuevas solicitudes se aceptan solo cuando el uso de memoria cae por debajo del valor especificado mediante WorkingSetMaximum.New requests are accepted only when memory use falls below the value specified through WorkingSetMaximum.

Si las solicitudes existentes continúan consumiendo memoria adicional después de que se ha alcanzado el valor WorkingSetMaximum , se reciclarán todos los dominios de aplicación de servidor.If existing requests continue to consume additional memory after the WorkingSetMaximum value has been reached, all report server application domains will be recycled. Para más información, consulte Application Domains for Report Server Applications.For more information, see Application Domains for Report Server Applications.
WorkingSetMinimumWorkingSetMinimum Especifica un límite inferior para el consumo de recursos; el servidor de informes no liberará memoria si el uso de memoria total se encuentra por debajo de este límite.Specifies a lower limit for resource consumption; the report server will not release memory if overall memory use is below this limit.

De forma predeterminada, el valor se calcula al inicio del servicio.By default, the value is calculated at service startup. El cálculo es que la solicitud de asignación de memoria inicial es para el 60 por ciento de WorkingSetMaximum.The calculation is that the initial memory allocation request is for 60 percent of WorkingSetMaximum.

Este valor no aparece en el archivo RSReportServer.config a menos que lo agregue manualmente.This setting does not appear in the RSReportServer.config file unless you add it manually. Si desea personalizar este valor, debe agregar el elemento WorkingSetMinimum al archivo RSReportServer.config.If you want to customize this value, you must add the WorkingSetMinimum element to the RSReportServer.config file. El intervalo de valores válidos es de 0 al entero máximo.Valid values range from 0 to maximum integer. Este valor se expresa en kilobytes.This value is expressed in kilobytes..
MemoryThresholdMemoryThreshold Especifica un porcentaje de WorkingSetMaximum que define el límite entre los escenarios de presión alta y media.Specifies a percentage of WorkingSetMaximum that defines the boundary between high and medium pressure scenarios. Si el uso de memoria del servidor de informes alcanza este valor, el servidor de informes ralentiza el procesamiento de la solicitud y cambia la cantidad de memoria asignada a aplicaciones de servidor diferentes.If report server memory use reaches this value, the report server slows down request processing and changes the amount of memory allocated to different server applications. El valor predeterminado es 90.The default value is 90. Este valor debería ser mayor que el valor establecido para MemorySafetyMargin.This value should be greater than the value set for MemorySafetyMargin.
MemorySafetyMarginMemorySafetyMargin Especifica un porcentaje de WorkingSetMaximum que define el límite entre el los escenarios de presión media y baja.Specifies a percentage of WorkingSetMaximum that defines the boundary between medium and low pressure scenarios. Este valor es el porcentaje de memoria disponible que se reserva para el sistema y no se puede usar para las operaciones del servidor de informes.This value is the percentage of available memory that is reserved for the system and cannot be used for report server operations. El valor predeterminado es 80.The default value is 80.

Nota

Las configuracionesMemoryLimit y MaximumMemoryLimit están obsoletas en SQL Server 2008SQL Server 2008 y later versions.MemoryLimit and MaximumMemoryLimit settings are obsolete in SQL Server 2008SQL Server 2008 and later versions. Si ha actualizado una instalación existente o está usando un archivo RSReportServer.config que incluye dicha configuración, el servidor de informes ya no leerá dichos valores.If you upgraded an existing installation or using an RSReportServer.config file that includes those settings, the report server no longer reads those values.

Ejemplo de las opciones de configuración de memoriaExample of memory configuration settings

El ejemplo siguiente muestra los valores de configuración para un equipo del servidor de informes que usa valores de configuración de memoria personalizados.The following example shows the configuration settings for a report server computer that uses custom memory configuration values. Si desea agregar WorkingSetMaximum o WorkingSetMinimum, debe escribir los elementos y los valores en el archivo RSReportServer.config.If you want to add WorkingSetMaximum or WorkingSetMinimum, you must type the elements and values in the RSReportServer.config file. Ambos valores son enteros que expresan kilobytes de RAM que está asignando a las aplicaciones de servidor.Both values are integers that express kilobytes of RAM you are allocating to the server applications. El ejemplo siguiente especifica que la asignación de memoria total para las aplicaciones del servidor de informes no puede superar los 4 gigabytes.The following example specifies that total memory allocation for the report server applications cannot exceed 4 gigabytes. Si el valor predeterminado de WorkingSetMinimum es aceptable (el 60 % de WorkingSetMaximum), puede omitirlo y especificar únicamente WorkingSetMaximum en el archivo RSReportServer.config.If the default value for WorkingSetMinimum (60% of WorkingSetMaximum) is acceptable, you can omit it and specify just WorkingSetMaximum in the RSReportServer.config file. Este ejemplo incluye WorkingSetMinimum para mostrar cómo aparecería si deseara agregarlo:This example includes WorkingSetMinimum to show how it would appear if you wanted to add it:

      Config files 
      <MemorySafetyMargin>80</MemorySafetyMargin>  
      <MemoryThreshold>90</MemoryThreshold>  
      <WorkingSetMaximum>4000000</WorkingSetMaximum>  
      <WorkingSetMinimum>2400000</WorkingSetMinimum>  

Acerca de los valores de configuración de memoria de ASP.NETAbout ASP.NET memory configuration settings

Aunque la Web del servidor de informes 2016 y versiones posterior web y servicio portal son aplicaciones HTML5, las versiones anteriores son ASP.NETASP.NET aplicaciones, ninguna aplicación responde a los valores de configuración de memoria que especifique en el processModel sección del archivo machine.config para ASP.NETASP.NET aplicaciones que se ejecutan en IIS 5.0 y el modo de compatibilidad superior.Although the 2016 and later Report Server Web service and web portal are HTML5 applications, previous versions are ASP.NETASP.NET applications, neither application responds to memory configuration settings that you specify in the processModel section of machine.config for ASP.NETASP.NET applications that run in IIS 5.0 and higher compatibility mode. Reporting ServicesReporting Services lee solamente los valores de configuración de la memoria del archivo RSReportServer.config.reads memory configuration settings from the RSReportServer.config file only.

Vea tambiénSee also

El archivo de configuración RSReportServer.config RsReportServer.config Configuration File
Modificar un archivo de configuración de Reporting Services (RSreportserver.config)Modify a Reporting Services Configuration File (RSreportserver.config)
Dominios de aplicación para las aplicaciones del servidor de informesApplication Domains for Report Server Applications