Configurare la memoria disponibile per applicazioni del server di reportConfigure Available Memory for Report Server Applications

Sebbene Reporting ServicesReporting Services sia in grado di usare tutta la memoria disponibile, è possibile ignorare il comportamento predefinito configurando un limite superiore per la quantità totale di risorse di memoria allocate per applicazioni server di 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. È inoltre possibile impostare soglie in modo che il server di report modifichi il modo in cui assegna la priorità ed elabora le richieste in base all'utilizzo basso, medio o alto della memoria.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. Se i livelli di utilizzo della memoria non sono elevati, il server di report risponde assegnando una priorità leggermente superiore all'elaborazione dei report interattiva o su richiesta.At low levels of memory pressure, the report server responds by giving a slightly higher priority to interactive or on-demand report processing. Se invece i livelli di utilizzo della memoria sono elevati, il server di report utilizza più tecniche per rimanere operativo utilizzando le limitate risorse disponibili.At high levels of memory pressure, the report server uses multiple techniques to remain operational using the limited resources available to it.

In questo argomento vengono descritte le impostazioni di configurazione che è possibile specificare e le modalità di risposta del server quando l'utilizzo della memoria diventa un fattore da considerare nell'elaborazione delle richieste.This topic describes the configuration settings that you can specify and how the server responds when memory pressure becomes a factor in processing requests.

Criteri di gestione della memoriaMemory Management Policies

Reporting ServicesReporting Services rispetta i vincoli relativi alle risorse di sistema regolando la quantità di memoria allocata per applicazioni e tipi di elaborazione di richieste specifici. responds to system resource constraints by adjusting the amount of memory that is allocated to specific applications and types of processing requests. Di seguito vengono riportate le applicazioni eseguite nel servizio del server di report soggette alla gestione della memoria:Applications that run in the Report Server service and that are subject to memory management include:

  • Gestione report, un'applicazione Web front-end per il server di report.Report Manager, a Web front-end application for the report server.

  • Servizio Web ReportServer, utilizzato per l'elaborazione interattiva di report e per richieste su richiesta.Report Server Web service, used for interactive report processing and on-demand requests.

  • Applicazione di elaborazione in background utilizzata per l'elaborazione pianificata di report, il recapito di sottoscrizioni e la manutenzione di database.A background processing application, used for scheduled report processing, subscription delivery, and database maintenance.

    I criteri di gestione della memoria si applicano al servizio del server di report nel complesso e non alle applicazioni singole eseguite all'interno del processo.Memory management policies apply to the Report Server service as a whole, and not to individual applications that run within the process.

    Se l'utilizzo di memoria nel sistema non è elevato, prima di ricevere le richieste ogni applicazione server richiede una parte di memoria all'avvio per garantire prestazioni ottimali in caso di ricezione delle richieste stesse.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. Man mano che l'utilizzo di memoria aumenta, il server di report regola il modello di processo come descritto nella tabella seguente.As memory pressure builds, the report server adjusts its process model as described in the following table.

Utilizzo della memoriaMemory pressure Risposta del serverServer response
BassaLow L'elaborazione delle richieste correnti continuaCurrent requests continue to process. e le nuove richieste vengono accettate quasi sempre.New requests are almost always accepted. Alle richieste dirette all'applicazione di elaborazione in background viene assegnata una priorità più bassa rispetto a quella assegnata alle richieste dirette al servizio Web ReportServer.Requests that are directed to the background processing application are given a lower priority than requests directed to the Report Server Web service.
MediaMedium L'elaborazione delle richieste correnti continuaCurrent requests continue to process. e le nuove richieste potrebbero essere accettate.New requests might be accepted. Alle richieste dirette all'applicazione di elaborazione in background viene assegnata una priorità più bassa rispetto a quella assegnata alle richieste dirette al servizio Web ReportServer.Requests that are directed to the background processing application are given a lower priority than requests directed to the Report Server Web service. Le allocazioni di memoria per le tre applicazioni server sono ridotte, con riduzioni relativamente maggiori per l'elaborazione in background in modo da aumentare la memoria disponibile per le richieste del servizio 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.
AltoHigh L'allocazione della memoria è ridotta ulteriormente.Memory allocation is further reduced. Le applicazioni server che richiedono una quantità maggiore di memoria vengono negate,Server applications that request more memory are denied. le richieste correnti vengono rallentate e completate in un tempo più lungo,Current requests are slowed down and take longer to complete. mentre le nuove richieste non sono accettate.New requests are not accepted. Il server di report esegue lo swapping dei file di dati in memoria sul disco.The report server swaps in-memory data files to disk.

Se i vincoli relativi alla memoria aumentano e non è più disponibile memoria per gestire le nuove richieste, il server di report restituirà l'errore HTTP 503 relativo alla non disponibilità del server, mentre le richieste correnti verranno completate.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. In alcuni casi i domini applicazione potrebbero essere riciclati per ridurre immediatamente l'utilizzo della memoria.In some cases, the application domains might be recycled to immediately reduce memory pressure.

Sebbene non sia possibile personalizzare le risposte del server di report per i diversi scenari di utilizzo della memoria, è possibile specificare impostazioni di configurazione che definiscono i limiti che separano le risposte relative a un utilizzo basso, medio o alto della memoria stessa.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.

Personalizzazione delle impostazioni di gestione della memoriaWhen to Customize Memory Management Settings

Le impostazioni predefinite specificano intervalli disuguali per l'utilizzo basso, medio e alto della memoria.The default settings specify unequal ranges for low, medium, and high memory pressure. Per impostazione predefinita, l'area riservata all'utilizzo della memoria basso è maggiore di quelle riservate per l'utilizzo della memoria medio e alto.By default, the low memory pressure zone is larger than the zones for medium and high memory pressure. Questo tipo di configurazione è ottimale per l'elaborazione di carichi distribuiti uniformemente o che aumentano o diminuiscono in modo incrementale.This configuration is optimum for processing loads that are evenly distributed or that grow or decline incrementally. In questo scenario la transizione tra aree è graduale e il server di report dispone di tempo sufficiente per regolare la propria risposta.In this scenario, the transition between zones is gradual and the report server has time to adjust its response.

La modifica delle impostazioni predefinite è utile se nel modello di carico sono presenti picchi.Modifying the default settings is useful if the load pattern includes spikes. Quando nel carico di elaborazione si verificano picchi improvvisi, il server di report potrebbe rapidamente passare da una situazione in cui la memoria non viene utilizzata a una in cui si verificano errori di allocazione di memoria.When there are sudden spikes in the processing load, the report server might go from no memory pressure to memory allocation failures very quickly. Questo problema potrebbe verificarsi se sono presenti più istanze simultanee di un report che utilizza una quantità di memoria elevata che iniziano nello stesso momento.This might occur if you have multiple concurrent instances of a memory-intensive report that start at the same time. Per gestire questo tipo di carico di elaborazione, è possibile fare in modo che il server di report risponda in base all'utilizzo medio o alto della memoria il prima possibile in modo da rallentare l'elaborazione.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. In questo modo è possibile completare più richieste.This allows more requests to complete. A questo scopo, è necessario diminuire il valore di MemorySafetyMargin in modo che l'area relativa all'uso basso della memoria sia minore rispetto alle altre.To do this, you should lower the value for MemorySafetyMargin to make the low memory pressure zone smaller relative to the other zones. In questo modo verrà data la precedenza alle risposte relative a un utilizzo medio e alto della memoria.Doing so will cause responses for medium and high memory pressure to occur earlier.

Impostazioni di configurazione per la gestione della memoriaConfiguration Settings for Memory Management

Le impostazioni di configurazione che controllano l'allocazione di memoria del server di report includono WorkingSetMaximum, WorkingSetMinimum, MemorySafetyMargine MemoryThreshold.Configuration settings that control memory allocation for the report server include WorkingSetMaximum, WorkingSetMinimum, MemorySafetyMargin, and MemoryThreshold.

  • WorkingSetMaximum e WorkingSetMinimum definiscono l'intervallo di memoria disponibile.WorkingSetMaximum and WorkingSetMinimum define the range of available memory. È possibile configurare queste impostazioni per specificare un intervallo di memoria disponibile per le applicazioni del server di report.You can configure these settings to set a range of available memory for the report server applications. Questa operazione può essere utile se si ospitano più applicazioni nello stesso computer e si determina che il server di report utilizza una quantità non proporzionata di risorse di sistema rispetto alle altre applicazioni.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 e MemoryThreshold consentono di impostare i limiti per i livelli basso, medio e alto di uso della memoria.MemorySafetyMargin and MemoryThreshold set the boundaries for low, medium, and high levels of memory pressure. Per ogni stato, in Reporting ServicesReporting Services vengono eseguite azioni correttive per garantire che l'elaborazione del report e le altre richieste siano gestire in modo appropriato rispetto alla quantità di memoria disponibile nel computer.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. È possibile specificare impostazioni di configurazione per stabilire il limite tra i livelli basso, medio e alto di utilizzo della memoria.You can specify configuration settings that determine the delineation between low, high, and medium pressure levels.

    Sebbene sia possibile modificare le impostazioni di configurazione, questa operazione non migliorerà le prestazioni di elaborazione del report.Although you can change the configuration settings, doing so will not improve report processing performance. La modifica delle impostazioni di configurazione è utile solo se le richieste vengono rilasciate prima che siano completate.Changing the configuration settings is useful only if requests are getting dropped before they complete. Il modo migliore per ottimizzare le prestazioni del server consiste nel distribuire il server di report o le relative applicazioni singole in computer dedicati.The best way to improve server performance is to deploy the report server or individual report server applications on dedicated computers.

    Nella figura seguente viene illustrato il modo in cui le impostazioni vengono utilizzate insieme per distinguere tra i livelli basso, medio e alto di utilizzo della memoria:The following illustration shows how the settings are used together to distinguish between low, medium, and high levels of memory pressure:

    Le impostazioni di configurazione per lo stato della memoriaConfiguration settings for memory state

    La tabella seguente descrive le impostazioni WorkingSetMaximum, WorkingSetMinimum, MemorySafetyMargine MemoryThreshold .The following table describes WorkingSetMaximum, WorkingSetMinimum, MemorySafetyMargin, and MemoryThreshold settings. Le impostazioni di configurazione sono specificate nel file RSReportServer.config.Configuration settings are specified in the RSReportServer.config file.

ElementoElement DescriptionDescription
WorkingSetMaximumWorkingSetMaximum Consente di specificare una soglia di memoria oltre la quale non viene concessa alcuna allocazione di memoria alle applicazione del server di report che la richiedano.Specifies a memory threshold after which no new memory allocations requests are granted to report server applications.

Per impostazione predefinita, il server di report imposta WorkingSetMaximum sulla quantità di memoria disponibile nel computer.By default, the report server sets WorkingSetMaximum to the amount of available memory on the computer. Questo valore viene rilevato al momento dell'avvio del servizio.This value is detected when the service starts.

Questa impostazione non è presente nel file RSReportServer.config a meno che non venga aggiunta manualmente.This setting does not appear in the RSReportServer.config file unless you add it manually. Se si desidera che il server di report utilizzi una quantità minore di memoria, è possibile modificare il file RSReportServer.config e aggiungere l'elemento e il valore.If you want the report server to use less memory, you can modify the RSReportServer.config file and add the element and value. I valori validi sono compresi nell'intervallo da 0 al numero intero massimo.Valid values range from 0 to maximum integer. Questo valore è espresso in KB.This value is expressed in kilobytes.

Quando viene raggiunto il valore WorkingSetMaximum , il server di report non accetta altre richieste.When the value for WorkingSetMaximum is reached, the report server does not accept new requests. Le richieste attualmente in corso vengono completate,Requests that are currently in progress are allowed to complete. mentre le nuove richieste vengono accettate solo quando l'uso di memoria scende al di sotto del valore specificato mediante WorkingSetMaximum.New requests are accepted only when memory use falls below the value specified through WorkingSetMaximum.

Se le richieste esistenti continuano a usare ulteriore memoria dopo che il valore WorkingSetMaximum è stato raggiunto, tutti i domini applicazione del server di report verranno riciclati.If existing requests continue to consume additional memory after the WorkingSetMaximum value has been reached, all report server application domains will be recycled. Per ulteriori informazioni, vedere Application Domains for Report Server Applications.For more information, see Application Domains for Report Server Applications.
WorkingSetMinimumWorkingSetMinimum Consente di specificare un limite inferiore per l'utilizzo della risorsa. Se la quantità di memoria complessiva utilizzata è inferiore a questo limite, il server di report non rilascerà memoria.Specifies a lower limit for resource consumption; the report server will not release memory if overall memory use is below this limit.

Per impostazione predefinita, il valore viene calcolato all'avvio del servizio.By default, the value is calculated at service startup. Il calcolo viene eseguito in base a una richiesta di allocazione di memoria iniziale pari al 60 percento di WorkingSetMaximum.The calculation is that the initial memory allocation request is for 60 percent of WorkingSetMaximum.

Questa impostazione non è presente nel file RSReportServer.config a meno che non venga aggiunta manualmente.This setting does not appear in the RSReportServer.config file unless you add it manually. Se si desidera personalizzare questo valore, è necessario aggiungere l'elemento WorkingSetMinimum al file RSReportServer.config.If you want to customize this value, you must add the WorkingSetMinimum element to the RSReportServer.config file. I valori validi sono compresi nell'intervallo da 0 al numero intero massimo.Valid values range from 0 to maximum integer. Questo valore è espresso in KB.This value is expressed in kilobytes..
MemoryThresholdMemoryThreshold Consente di specificare una percentuale di WorkingSetMaximum che definisce il limite tra scenari relativi a un utilizzo medio e alto della memoria.Specifies a percentage of WorkingSetMaximum that defines the boundary between high and medium pressure scenarios. Se l'utilizzo della memoria del server di report raggiunge questo valore, l'elaborazione delle richieste rallenta e la quantità di memoria allocata per applicazioni server diverse viene modificata.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. Il valore predefinito è 90.The default value is 90. Questo valore deve essere maggiore del valore impostato per MemorySafetyMargin.This value should be greater than the value set for MemorySafetyMargin.
MemorySafetyMarginMemorySafetyMargin Consente di specificare una percentuale di WorkingSetMaximum che definisce il limite tra scenari relativi a un utilizzo basso e medio della memoria.Specifies a percentage of WorkingSetMaximum that defines the boundary between medium and low pressure scenarios. Tale valore rappresenta la percentuale di memoria disponibile riservata per il sistema e non può essere utilizzato per le operazioni del server di report.This value is the percentage of available memory that is reserved for the system and cannot be used for report server operations. Il valore predefinito è 80.The default value is 80.
Nota

MemoryLimit e MaximumMemoryLimit impostazioni sono obsolete in SQL Server 2008SQL Server 2008 e versioni successive.MemoryLimit and MaximumMemoryLimit settings are obsolete in SQL Server 2008SQL Server 2008 and later versions. Se è stata aggiornata un'installazione esistente o se si utilizza un file RSReportServer.config in cui sono contenute tali impostazioni, il server di report non consentirà di leggere più questi valori.If you upgraded an existing installation or using an RSReportServer.config file that includes those settings, the report server no longer reads those values.

Esempio di impostazioni di configurazione della memoriaExample of Memory Configuration Settings

Nell'esempio seguente vengono mostrate le impostazioni di configurazione per un computer server di report che utilizza valori di configurazione della memoria personalizzati.The following example shows the configuration settings for a report server computer that uses custom memory configuration values. Se si desidera aggiungere WorkingSetMaximum o WorkingSetMinimumè necessario digitare gli elementi e i valori nel file RSReportServer.config.If you want to add WorkingSetMaximum or WorkingSetMinimum, you must type the elements and values in the RSReportServer.config file. Entrambi i valori sono numeri interi espressi in KB di RAM allocati per le applicazioni server.Both values are integers that express kilobytes of RAM you are allocating to the server applications. Nell'esempio seguente si specifica che l'allocazione totale di memoria per le applicazioni del server di report non può superare i 4 GB.The following example specifies that total memory allocation for the report server applications cannot exceed 4 gigabytes. Se il valore predefinito per WorkingSetMinimum (60% di WorkingSetMaximum) è accettabile, è possibile ometterlo e specificare solo WorkingSetMaximum nel file 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. In questo esempio è stato incluso il valore WorkingSetMinimum per illustrarne la visualizzazione qualora si desiderasse aggiungerlo:This example includes WorkingSetMinimum to show how it would appear if you wanted to add it:

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

Informazioni sulle impostazioni di configurazione della memoria ASP.NETAbout ASP.NET Memory Configuration Settings

Sebbene i servizi Web ReportServer e Gestione report siano applicazioni ASP.NETASP.NET , nessuna applicazione risponde alle impostazioni di configurazione della memoria specificate nella sezione processModel di machine.config per le applicazioni ASP.NETASP.NET eseguite in modalità compatibilità IIS 5.0.Although the Report Server Web service and Report Manager 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 compatibility mode. Reporting ServicesReporting Services legge le impostazioni di configurazione della memoria solo dal file RSReportServer.config. reads memory configuration settings from the RSReportServer.config file only.

Vedere ancheSee Also

File di configurazione RsReportServer.config RsReportServer.config Configuration File
File di configurazione RsReportServer.config RsReportServer.config Configuration File
Modificare un File di configurazione di Reporting Services ( RSReportServer. config ) Modify a Reporting Services Configuration File (RSreportserver.config)
Domini applicazione per applicazioni del server di reportApplication Domains for Report Server Applications