Friday, May 6, 2011

SharePoint 2010 Sandboxed Solutions - Resource Quotas

Points are calculated based on various metrics, and these metrics are designed to monitor the resource usage of the server to accurately reflect the true health of the server. SharePoint contains 14 metrics that contribute to the quota points.
  1. AbnormalProcessTerminationCount
  2. CPUExecutionTime
  3. CriticalExceptionCount
  4. InvocationCount
  5. PercentProcessorTime
  6. ProcessCPUCycles
  7. ProcessHandleCount
  8. ProcessIOBytes
  9. ProcessThreadCount
  10. ProcessVirtualBytes
  11. SharePointDatabaseQueryCount
  12. SharePointDatabaseQueryTime
  13. UnhandledExceptionCount
  14. UnresponsiveprocessCount
Each metric, called a ResourceMeasure, contains a ResourcesPerPoint property.

The ResourcesPerPoint value is divided by the resources consumed to calculate the points used for that category.

For example, AbnormalProcessTerminationCount has a ResourcesPerPoint value of 1. Every time a sandboxed solution terminates abnormally, 1 point is added. If you want to increase the penalty for a sandboxed solution that terminates, you can set ResourcesPerPoint to another value, such as 2. You can use 0 if you are not concerned about this metric. Other ResourceMeasures might not have a one-to-one correspondence with an event. The CPUExecutionTime metric prevents a sandboxed solution from consuming too many CPU cycles. The default ResourcesPerPoint value is 3,600 for CPUExecutionTime.
Another value is AbsoluteLimit, which is incremented each time a solution gets a point.

If a solution exceeds the AbsoluteLimit value, it is terminated even if the daily usage limit has not been reached. Exceeding the value of AbsoluteLimit affects only the single solution, unlike the daily usage limit. These two levels of quotas, daily limit and absolute limit, work together to protect the health of the farm. I strongly recommend that you not modify ResourceMeasures, but as a developer or an administrator, you should understand exactly how these mechanisms work.

Although SharePoint does not provide an administration page for adjusting the quota metrics, you can see and change the values using the SharePoint object model or Windows PowerShell

No comments:

Post a Comment