Límites de uso de recursos en las soluciones de espacio aislado
Última modificación: viernes, 05 de agosto de 2011
Hace referencia a: SharePoint Foundation 2010
En este artículo
Tres tipos de restricciones de uso de recursos
Recursos medidos
API de uso de recursos importantes
Disponible en SharePoint Online
En este tema se describen las limitaciones de uso de recursos del sistema que Microsoft SharePoint Foundation impone en las soluciones de espacio aislado.
Tres tipos de restricciones de uso de recursos
Las soluciones de espacio aislado están sujetas a tres tipos de restricciones de uso de recursos que pueden clasificarse por (1) el tipo de entidad a la que se aplica la restricción y (2) el tipo de entidad en el que se impone la penalización por superar la restricción. La infraestructura de supervisión de la solución de SharePoint Foundation impone automáticamente las penalizaciones. Los administradores del conjunto o granja de servidores también pueden bloquear manualmente cualquier solución de espacio aislado en la aplicación Administración Central por cualquier motivo.
Por solicitud, con la solicitud penalizada: hay un límite máximo de cuánto puede tardar una solución de espacio aislado en completarse. De forma predeterminada, es de 30 segundos. Si una solución de espacio aislado supera el límite, se termina el dominio de aplicación que controla la solicitud (pero no el proceso de trabajo de espacio aislado). Este límite es configurable, pero sólo a través de código personalizado en el modelo de objetos. Las soluciones de espacio aislado no pueden obtener acceso a las partes relevantes del modelo de objetos, por lo que ninguna solución de espacio aislado puede cambiar el límite.
Por solicitud, con el proceso penalizado: hay un conjunto de 15 límites de recursos adicionales que se aplican a las solicitudes. Si una solicitud supera uno de ellos, el proceso (y todas las soluciones de espacio aislado que se estén ejecutando en él, incluidos aquellas con buen comportamiento) se termina. Estos límites también se pueden configurar mediante la Consola de administración de SharePoint o con código personalizado en el modelo de objetos.
Por día o por colección de sitios, con todo el conjunto de soluciones de espacio aislado de la colección de sitios penalizado: cada colección de sitios está sujeta a un máximo configurable de puntos de recursos diarios. Estos puntos se acumulan según un algoritmo de propiedad que tiene en cuenta el uso de recursos en las 15 categorías de recursos de las soluciones de espacio aislado que se instalaron en la colección de sitios. Cuando una colección de sitios supera el máximo permitido de puntos, que se establece de forma predeterminada en 300, todas las soluciones de espacio aislado en la colección de sitios se terminan y no se puede ejecutar ninguna más el resto del día. Los administradores de la colección de sitios pueden ver el total de puntos de recursos del día actual usados por las soluciones de espacio aislado de la colección de sitios (y el promedio de 14 días) en la Galería de soluciones de la colección de sitios. También se muestran los puntos de recursos usados por cada solución. Pueden desactivar y quitar cualquier solución de espacio aislado en la misma galería. Los administradores de la granja de servidores pueden configurar el total de puntos permitidos por colección de sitios con base en una colección de sitios en la aplicación Administración Central. El número de puntos asignados a cada unidad de cada tipo de recurso se puede configurar mediante la Consola de administración de SharePoint o con código personalizado en el modelo de objetos.
Recursos medidos
En la siguiente tabla se enumeran los 15 recursos del sistema que se supervisan.
La columna Umbral mínimo especifica la cantidad mínima predeterminada del recurso que se debe alcanzar antes de que se agregue al total acumulado. En esta columna, 0 significa que se agrega cualquier cantidad, por pequeña que sea.
La columna Límite absoluto especifica la cantidad predeterminada que activará una terminación inmediata del proceso. Tenga en cuenta que hay un 1 en esta columna para algunos recursos. Esto significa que incluso una única instancia del recurso desencadena una terminación inmediata del proceso.
La columna Recursos por punto especifica, de forma predeterminada, la cantidad del recurso que hará que se sume un punto adicional al total de Por día o por colección de sitios.
Recurso |
Comentarios |
Umbral mínimo |
Límite absoluto |
Recursos por punto |
---|---|---|---|---|
AbnormalProcessTerminationCount |
Este "recurso" sólo existe para imponer una penalización adicional a una solución de espacio aislado que se termina por algún otro motivo. En concreto, se suma 1 punto al total de Por día o por colección de sitios. Por consiguiente, la penalización de este "recurso" representa una ocasión en la que (1) se superó el límite absoluto de una de las otras medidas y se cerró inmediatamente el proceso de espacio aislado, o (2) se cerró el dominio de aplicación que controla una solicitud porque la solicitud tardaba demasiado tiempo (vea Por solicitud, con la solicitud penalizada arriba). Por lo tanto, no se aplican las columnas Umbral mínimo y Límite absoluto de esta fila. |
0 |
1 |
1 |
CPUExecutionTime (medido en segundos) |
El límite absoluto de este recurso no se aplica mientras sea mayor que el límite de Por solicitud, con la solicitud penalizada que se describió anteriormente. Normalmente, los administradores querrán que sea mayor para que la solicitud lenta se termine antes de que cause una terminación de todo el proceso de trabajo de espacio aislado, incluidas las soluciones de espacio aislado con buen comportamiento que se ejecutan en él. |
0,1 |
60 |
200 |
CriticalExceptionCount |
Entre las excepciones graves se incluyen las siguientes:
|
0 |
3 |
10 |
IdlePercentProcessorTime |
Esta medida se aplica sólo a los procesos de trabajo de espacio aislado que actualmente no controlan ninguna solicitud. Dichos procesos no deben consumir demasiado tiempo de procesador. El 10 de la columna Límite absoluto significa que, si dicho proceso consume más del 10% del tiempo del procesador, se termina el proceso. No se utiliza nunca el valor Recursos por punto. Sin embargo, cuando se termina el proceso, se aplica AbnormalProcessTerminationCount y se suma un punto de recurso al recuento de recursos del día. |
0 |
10 |
100 |
InvocationCount |
0 |
100 |
100 |
|
PercentProcessorTime |
0 |
100 |
85 |
|
ProcessCPUCycles |
10.000.000.000 |
100.000.000.000 |
100.000.000.000 |
|
ProcessHandleCount |
500 |
5000 |
10.000 |
|
ProcessIOBytes |
0 |
100.000.000 |
10.000.000 |
|
ProcessThreadCount |
10 |
200 |
10.000 |
|
ProcessVirtualBytes |
100000000 |
4.000.000.000 |
1.000.000.000 |
|
SharePointDatabaseQueryCount |
Consultas realizadas en bases de datos de contenido y de configuración de SharePoint. |
0 |
100 |
400 |
SharePointDatabaseQueryTime medido en segundos |
Cantidad de tiempo dedicado a consultas en bases de datos de contenido y de configuración de SharePoint. |
0,1 |
60 |
20 |
UnhandledExceptionCount |
0 |
3 |
50 |
|
UnresponsiveprocessCount |
0 |
1 |
2 |
API de uso de recursos importantes
Puede cambiar estos valores mediante el modelo de objetos de SharePoint Foundation. Las siguientes son las API críticas que se usan para hacerlo.
Un objeto de la clase SPResourceMeasure representa una de las medidas de recurso. Todos esos objetos persisten en la base de datos de configuración. La clase tiene propiedades para el umbral mínimo, el límite absoluto y los recursos por punto. También tiene una propiedad Name que hereda de SPPersistedObject. Se trata de una clase sealed.
SPUserCodeService.ResourceMeasures contiene una colección de objetos SPResourceMeasure, uno para cada recurso que se esté supervisando.
SPUserCodeService.WorkerProcessExecutionTimeout contiene el valor de tiempo de espera que se usa para el límite Por solicitud, con la solicitud penalizada que se describió anteriormente.
Puede obtener una referencia a una medida de recurso específica usando su nombre o GUID como índice. Por ejemplo, la siguiente línea de código disminuye el límite absoluto para la medida SharePointDatabaseQueryTime a 30 segundos.
SPUserCodeService.Local.ResourceMeasures["SharePointDatabaseQueryTime"].AbsoluteLimit = 30.0;
SPUserCodeService.Local.Update();
El siguiente código eleva el valor del límite de Por solicitud, con la solicitud penalizada a 40 segundos.
SPUserCodeService.Local.WorkerProcessExecutionTimeout = 40;
SPUserCodeService.Local.Update();
Importante |
---|
Para que los cambios surtan efecto, se debe reiniciar el Servicio de código de espacio aislado de Microsoft SharePoint Foundation en todos los servidores en los que se está ejecutando. |