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:

  • ThreadAbortException

  • OutOfMemoryException

  • AccessViolationException

  • AppDomainUnloadedException

  • BadImageFormatException

  • TypeInitializationException

  • MissingMethodException

  • ExecutionEngineException

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();
Nota importanteImportante

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.

Vea también

Conceptos

Restricciones en las soluciones de espacio aislado

Qué se puede implementar en una solución de espacio aislado