规划沙盒解决方案 (SharePoint Foundation 2010)

 

适用于: SharePoint Foundation 2010

上一次修改主题: 2016-11-30

Microsoft SharePoint Foundation 2010 中的沙盒解决方案可限制对网络和本地资源的访问,从而提供更好的安全性和稳定性。沙盒解决方案可用于负载平衡解决方案、尚未经完全测试的解决方案,以及在托管环境中部署用户解决方案。沙盒解决方案在单独的工作进程中运行,因此无法访问属于其他解决方案的资源,并且它们对本地和网络资源的访问受限制。

当规划沙盒解决方案时,首先要确定到底需不需要使用沙盒解决方案。您应当确定您首先要考虑的是性能还是安全。与不使用沙盒解决方案的服务器场相比,使用沙盒解决方案的服务器场会生成更多的辅助进程和代理进程。使用沙盒解决方案会提供更多的进程隔离,从而可提高服务器场的安全性。

有关沙盒解决方案的详细信息,请参阅沙盒解决方案概述 (SharePoint Foundation 2010)沙盒解决方案(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=220257&clcid=0x804)(该链接可能指向英文页面)。

本文内容:

  • 确定何时使用沙盒解决方案

  • 规划沙盒解决方案代码的负载平衡

  • 确定部署沙盒解决方案的位置

  • 确定可部署沙盒解决方案的人员

  • 确定哪些网站集将运行沙盒解决方案

  • 规划沙盒解决方案的资源使用率配额

  • 规划沙盒解决方案服务层

  • 规划沙盒解决方案控制

确定何时使用沙盒解决方案

在您希望在多个服务器之间保持解决方案的负载平衡的情况下,或在您希望能够运行尚未经完全测试或组织不支持的代码的情况下,适合使用沙盒解决方案。对于您组织内的开发人员而言,沙盒解决方案可在缩放部署路径(从测试环境到生产环境中的沙盒解决方案)中起到重要作用。以后,当最终表明解决方案可以安全地进行完全部署时,服务器场管理员可以将沙盒解决方案更改为完全信任状态。

在以下应用场景中,特别适合使用沙盒解决方案:

  • 您希望在多台 SharePoint Foundation 服务器之间保持解决方案负载平衡。

  • 组织希望在 SharePoint Foundation 生产网站上运行员工代码,但此类代码没有经过严格的检查和测试。

  • Internet 宿主提供程序希望让所承载的 SharePoint Foundation 网站的所有者上载和运行自定义代码。

使用沙盒解决方案时,必须在要运行沙盒解决方案的每台服务器上启动沙盒解决方案服务。

规划沙盒解决方案代码的负载平衡

可以为沙盒解决方案选择两种负载平衡方案中的一种。根据负载平衡方案,Microsoft SharePoint Foundation 2010 将决定在哪台服务器上运行解决方案。对于本地负载平衡方案,将在接收请求的同一台服务器上运行解决方案。如果选择远程负载平衡方案,则基于解决方案相关性选择运行解决方案的服务器,并且沙盒解决方案在已加载并运行它的服务器上运行。这样可节省处理解决方案请求的时间。在这两种情况下,每台将承载沙盒解决方案的服务器都必须运行沙盒解决方案服务。

您选择的负载平衡方案决定了由整个 SharePoint Foundation 服务器场使用的模型。您不能混合使用本地负载平衡和远程负载平衡,而必须决定实现其中一种方案。在决定要实现哪种模式时,应考虑以下事项:

  • 本地模式需要的管理更少,但其可伸缩性受到本地服务器的资源的限制。

  • 远程模式与本地模式相比更具可伸缩性,但它需要在更多的服务器上执行管理任务。

如果 SharePoint Foundation 服务器场中有多台服务器要运行沙盒解决方案,则在该服务器场中使用远程负载平衡模型会获得更好的性能。如果您是作为开发过程的一部分使用沙盒解决方案,并且希望将这些解决方案限制于调用它们的服务器,则使用本地模式的负载平衡。

有关详细信息,请参阅沙盒解决方案概述 (SharePoint Foundation 2010)

确定部署沙盒解决方案的位置

沙盒解决方案部署在网站集的根目录中。属于网站集管理员的任何人都可以部署沙盒解决方案。如果在某个网站集中部署沙盒解决方案,则可在该网站集内的任何位置使用该解决方案。

可以决定只在 SharePoint Foundation 服务器场内的某些服务器上或在所有服务器上运行沙盒解决方案。若要在服务器上启用沙盒解决方案,必须启用沙盒解决方案服务。必须在要运行沙盒解决方案的每台服务器上都启用此服务。

确定可部署沙盒解决方案的人员

当您规划沙盒解决方案部署中涉及的用户角色时,必须确定将授权谁来部署解决方案,以及将授权谁来管理解决方案。“Site Collection Administrators”组的成员可以部署沙盒解决方案。

您必须是“Farm Administrators”组的成员才能执行管理任务,例如,启用或禁用沙盒解决方案服务,阻止或取消阻止解决方案,以及调整或重置配额和配额模板。

备注

只是网站集所有者还不够:若要部署和激活沙盒解决方案,您必须是要部署沙盒解决方案的网站集的网站集管理员。

由于服务器场管理员可以将沙盒解决方案更改为可部署在服务器场上任何位置的完全信任的解决方案,因此您应确保将“Farm Administrators”组的成员限制为适当的用户。在将用户添加到“Site Collection Administrators”组时,如果对正在部署的沙盒解决方案的安全性有任何担心,同样要考虑到这一点。

确定哪些网站集将通过配额运行沙盒解决方案

可以通过调整沙盒解决方案的配额在特定的网站集上启用或禁用沙盒解决方案。如果在特定网站集上将沙盒解决方案的配额设置为 0,则该网站集上将不运行沙盒解决方案。通过这种方式,您可以调整沙盒解决方案在您的服务器场中的使用情况。

若要规划部署沙盒解决方案的位置,您应考虑以下问题:

  • 哪些服务器将运行沙盒解决方案服务。

  • 哪些网站集将能够运行沙盒解决方案。

在某些网站集上启用沙盒解决方案后,您应通过将其余网站集上的配额设置为 0,在这些网站集上禁用沙盒解决方案。

规划沙盒解决方案的资源使用率配额

基于默认配额监控沙盒解决方案的资源使用率(按网站集进行监控)。如果沙盒解决方案超出资源点的累积总数,则会在其余时间禁用该网站集中的所有沙盒解决方案。这可帮助管理员了解特定沙盒解决方案何时对共享资源有过度需求或(某些情况下)包含耗费大量资源的沙盒解决方案的网站集何时要求增加配额。

在运行沙盒解决方案时,将针对整个网站集计入资源点。当您查看配额中的资源度量时,您将会看到每个点的资源数;这是在计入单个资源点之前可使用特定资源的次数。当资源使用量超出 ResourcePerPoint 属性所指定的限制时,网站集将计入一个资源点。如果资源点的累积数目超出网站集的配额,则当天余下的时间将禁用网站集中的所有沙盒解决方案。

默认的资源点限制在大多数情况下都能满足需求。不过,您可以调整单个资源点限制以允许适当提高限制值。有关如何调整单个资源点限制的详细信息,请参阅为沙盒解决方案配置资源点 (SharePoint Foundation 2010)

在规划沙盒解决方案的配额时,您应考虑以下问题:

  • 您是否将针对任何资源度量类别来调整每个点的资源?

    您可定义所有沙盒解决方案的资源限制。在某些情况下,可能有必要限制某些对资源的滥用或过度使用更为敏感的资源,例如,处理器已负担过重的服务器上的 CPU 周期。您可调整资源限制,以限制可能那些可能过度使用资源的沙盒解决方案。您应检查由沙盒解决方案配额监视的资源的列表,并确定您是否有必要进行调整。

  • 您是否将调整对任何资源类别的绝对限制?

    绝对限制是在停止请求之前每个请求的资源使用率可达到的最高或最低限制。如果过度使用某个资源类别并达到绝对限制,则沙盒解决方案将停止。您应评估资源类别,以确定是否需要将其调整到较高或较低的绝对限制。

有关各个资源度量和每个资源的最小阈值、绝对限制以及每个点的资源数的列表,请参阅 SharePoint 2010 中沙盒解决方案上的资源使用限制 (https://go.microsoft.com/fwlink/?linkid=217149&clcid=0x804)。有关如何针对特定资源度量配置绝对限制和每个点的资源数的信息,请参阅为沙盒解决方案配置资源点 (SharePoint Foundation 2010)

规划沙盒解决方案服务层

根据沙盒解决方案所使用的资源的平均数,可在沙盒解决方案服务中将它们分为不同的。沙盒解决方案服务中的每个层包含一个或多个用来运行沙盒解决方案的工作进程。每个沙盒解决方案将在自己的应用程序域中运行,在调用解决方案时,将重新使用这些应用程序域。默认情况下,所有解决方案都在一个层中的沙盒解决方案服务中运行。您可在沙盒解决方案服务中配置其他层和工作进程,以便从性能、安全和可靠性方面分离解决方案。沙盒解决方案将基于其资源使用率自动分离到其他层中。有关层的详细信息,请参阅沙盒解决方案概述 (SharePoint Foundation 2010)沙盒层(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=217145&clcid=0x804)(该链接可能指向英文页面)。

您可根据需要配置任意数量的层以及任意数量的工作进程、连接和应用程序域。但是,创建太多的层将严重影响 SharePoint Foundation 服务器的性能。在您计划配置沙盒解决方案服务时,您应考虑以下问题:

  • 您将创建多少个层?

    通过配置多个层,您可将“运行状况的”沙盒解决方案与“运行状况较差的”沙盒解决方案(经常崩溃或使用大量资源)分隔开。通过在不同的层中运行沙盒解决方案,您可降低运行状况较差的沙盒解决方案对运行状况良好的沙盒解决方案所产生的影响。这使得系统更稳定且响应更快。一般情况下,您不应使用超过两个或三个的层来分离沙盒解决方案。

  • 对于每个层,您打算设置多少个工作进程?

    可通过使用以下公式来计算同时在某个层中运行的沙盒解决方案的最大数目:

    层中的工作进程数 × 每个进程的最大连接数 = 在单一层中同时运行的沙盒解决方案的最大数目

    通过配置层来运行多个工作进程,您可以在服务器场中同时运行多个沙盒解决方案。添加更多工作进程可增加给定服务器上的吞吐量,但有一个上限。因为额外工作进程的开销可能会降低服务器的整体吞吐量,所以,您在单一服务器上的所有层中配置的工作进程不应超过 20 个。

  • 每个进程必须有多少个连接?

    每个进程的最大连接数应始终小于或等于每个进程的应用程序域的数目。如果两个沙盒解决方案同时在相同的进程中运行,如果其中的一个崩溃,则另一个也将崩溃。每个进程的最大连接数越大,可同时在相同进程中运行的沙盒解决方案数目就越大,发生崩溃的沙盒解决方案就越有可能影响其他正在运行的请求。通常情况下,在 ResourceMaxValue 属性较高的层中,沙盒解决方案的可靠性通常较低,因此每个进程的连接数小一些会更好。在 ResourceMaxValue 属性较低的层中运行的沙盒解决方案的可靠性较高。通常,您应增加每个进程的连接数以提高吞吐量,这将降低由可能在同一进程中发生崩溃的其他沙盒解决方案所导致的影响。

  • 每个进程必须有多少个应用程序域?

    任何时候都只能在每个应用程序域中运行一个沙盒解决方案。因此,应用程序域表示可同时加载的沙盒解决方案的数目。您应规划配置的应用程序域的数量至少应等于每个进程的连接数。

有关如何配置层的信息,请参阅配置沙盒解决方案服务层 (SharePoint Foundation 2010)

规划沙盒解决方案控制

在您规划沙盒解决方案的同时,应考虑有关控制问题的过程,其中包括:

  • 在什么情况下服务器场管理员将阻止或取消阻止沙盒解决方案?通过确定用于阻止和取消阻止沙盒解决方案的管理策略,可帮助消除混淆情况。

  • 在什么情况下您会将沙盒解决方案作为完全信任解决方案传送到全局编录?此决定适用于由组织开发人员开发的解决方案代码。您应建立一种策略,用来确定需要对沙盒解决方案进行何种级别的测试后,才能将其视为已准备好在组织中作为生产之用。

  • 在规划谁能够部署沙盒解决方案时,您是决定向“Site Collection Administrators”组中添加用户,还是决定为数量有限的网站集管理员建立一个过程来让这些管理员代表其用户部署沙盒解决方案?根据您组织中的安全考虑,您可以决定直接将用户添加到“Site Collection Administrators”组中,而不是要求用户请求部署沙盒解决方案的权限。

See Also

Concepts

沙盒解决方案概述 (SharePoint Foundation 2010)

Other Resources

沙盒解决方案管理 (SharePoint Foundation 2010)
沙盒解决方案资源中心(该链接可能指向英文页面)
沙盒解决方案体系结构 (https://go.microsoft.com/fwlink/?linkid=177368&clcid=0x804)
SharePoint 2010 中的沙盒解决方案
安装、卸载和升级 SharePoint 2010 中的沙盒解决方案