沙盒解决方案与场解决方案的比较
|
方面 |
场 |
沙盒 |
|
部署过程 |
添加解决方案,然后将它部署到场中。 |
将解决方案上载到网站集,然后在网站集中将其激活。 |
|
可以部署的人 |
服务器场管理员。 |
如果解决方案中包含一个程序集,则只有网站集管理员可以部署它。如果解决方案不包含程序集,则拥有对网站集根目录的完全控制访问权的用户可以部署它。 |
|
数据访问 |
不受限制。 |
解决方案只能访问部署到的网站集中的内容。 |
|
运行解决方案的进程 |
不受限制的 IIS 工作进程,或将解决方案部署到的任何进程。 |
权限受限制的单独的工作进程。 |
|
代码访问安全性 |
解决方案开发人员在将解决方案打包时可以设置代码访问安全性策略。 |
受限制。 |
|
监控 |
不受监控。 |
受监控,并受服务器场管理员设置的配额限制。 |
|
负载平衡 |
不定,具体取决于解决方案的种类。 |
可从非沙盒解决方案单独配置。 |
|
解决方案功能 |
不受限制。 |
受限制,如沙盒解决方案不能包含的内容中所述。 |
使用沙盒解决方案的好处
· 可以将解决方案添加到SharePoint Server生产环境中,而不存在影响沙盒外的进程的风险;
· 网站集管理员可以部署沙盒解决方案,使服务器场管理员从此项任务中解脱出来
· 由于沙盒在可受配额限制的单独进程中运行,并且可以监控其对服务器场的影响,因此增加了可收缩性和灵活性;
· 可以将解决方案从沙盒中移出并直接在场中运行,而不必修改或重新编译解决方案。
当在规划是否使用沙盒解决方案时,到底需不需要使用沙盒解决方案,首先考虑的因素是性能还是安全。使用沙盒解决方案的服务器场场会生成更多的辅助进程和代理进程。使用社和解决方案会提供更多的进程隔离,从而可提高服务器场的安全性。
确定何时使用沙盒解决方案
· 在多台SharePoint Server服务器之间保持解决方案的负载均衡
· 在SharePoint Server生产网站上运行员工代码,但此类代码没有经过严格的检查和测试
· Internet宿主提供程序希望让所承载的SharePoint Server网站的所有者上载和运行自定义代码
注意:必须在运行沙盒解决方案的每台服务器上激活SharePoint 2010User Code Host 服务。
规划沙盒解决方案代码的负载均衡
根据负载均衡方案,SharePoint Server 2010将决定在哪台服务器上运行解决方案。
· 本地负载均衡
将在接收请求的同一台服务器上运行解决方案。
· 远程负载均衡
基于解决方案相关性选择运行解决方案的服务器,并且沙盒解决方案在已加载并运行它的服务器上运行。
注意:每台服务器都必须运行SharePoint Foundation Sandboxed Code服务。
在选择负载均衡方案决定了由整个SharePoint Server服务器场使用的模型。在决定使用那种模式时,应考虑的因素有:
· 本地模式需要的管理更少,但其可伸缩性收到本地服务器的资源的限制;
· 远程模式更具有伸缩性,但它需要在更多的服务器上执行管理任务。
如SharePoint Server服务器场中有多台服务器要运行沙盒解决方案,则在该服务器场中使用远程负载均衡会获得更好的性能;
如作为开发过程的一部分使用沙盒解决方案,并且希望将这些解决方案限制于调用它们的服务器,则使用本地模式的负载均衡。
确定部署沙盒解决方案的位置
沙盒解决解决方案部署在网站集的根目录下,属于网站管理员的任何人都可以部署沙盒解决方案。如在某个网站集中部署沙盒解决方案,则可在该网站集内的任何位置使用该解决方案。
可以选择只在SharePoint Server服务器场内的某些服务器上运行沙盒解决放哪,也可以选择在所有服务器上运行。
注意:如要在服务器上启用沙盒解决方案,必须启用SharePoint Foundation Snadboxed Code服务。必须在要运行沙盒解决方案的每台服务器上都启用该服务。
确定可部署沙盒解决方案的人员
当规划社和解决方案部署中涉及的用户角色时,必须确定将授权谁来部署解决方案,以及将授权谁来管理解决方案。
· “Site Collection Administrators”组的成员可以部署沙盒解决方案。
· “Farm Administrators”组的成员才能执行管理任务。
注意:如要部署和激活沙盒解决方案,只是网站集所有者还不够,您必须是要部署沙盒解决方案的网站集的网站集管理员。
确定哪些网站集将使用配额运行沙盒解决方案
可以通过调整沙盒解决方案的配额在特定的网站集上启用或禁用沙盒解决方案。如在特定网站集上将沙盒解决方案的配额设置为0,则该网站集上将不运行沙盒解决方案。通过这种方式,可以调整沙盒解决方案在服务器场中的使用情况。
为了规划要用来部署沙盒解决方案的位置,需要考虑以下两个因素:
· 哪些服务器将运行SharePoint Foundation Sandboxed Code服务;
· 哪些网站集将能够运行沙盒解决方案
在某些网站集上启用沙盒解决方案后,可以通过将其与网站集上的配额设置为0,在这些网站集上禁用沙盒解决方案。
规划沙盒解决方案的资源使用率配额
基于默认的资源配额监控沙盒解决方案的资源使用绿。
如某个沙盒解决方案超过了任何资源配额,则在当天的剩余时间内该解决方案将处于禁用状态,知道服务器场管理员手动重置该解决方案。
默认配额可满足于大多数的方案,但可以调整个别配额限制以根据需要允许更高的限制。
如可以确定了某个解决方案自始自终都在误用服务器资源,则可以阻止该解决方案,知道开发人员能够纠正此状况。
分配沙盒解决方案配额的默认值:
|
资源 |
说明 |
单位 |
每个点的资源数 |
绝对限制 |
|
AbnormalProcessTerminationCount |
异常终止的进程 |
出现次数 |
1 |
1 |
|
CPUExecutionTime |
网站的 CPU 执行时间 |
秒 |
3,600 |
60 |
|
CriticalExceptionCount |
关键异常事件数 |
事件 |
10 |
3 |
|
InvocationCount |
解决方案调用事件数 |
事件 |
<待定> |
<待定> |
|
PercentProcessorTime |
解决方案占用 CPU 的百分比 |
percentage |
85 |
100 |
|
ProcessCPUCycles |
解决方案 CPU 周期数 |
周期 |
1 x10^11 |
1 x10^11 |
|
ProcessHandleCount |
Windows 句柄计数 |
项 |
10,000 |
1,000 |
|
ProcessIOBytes |
Windows 句柄计数 |
项 |
0 |
1 x10^8 |
|
ProcessThreadCount |
整个进程中的线程计数 |
实例 |
10,000 |
200 |
|
ProcessVirtualBytes |
占用的内存 |
字节 |
0 |
1.0x10^9 |
|
SharePointDatabaseQueryCount |
SharePoint 数据库查询的数目 |
实例 |
20 |
100 |
|
SharePointDatabaseQueryTime |
执行查询所用的时间 |
秒 |
120 |
60 |
|
UnhandledExceptionCount |
未经处理的异常数 |
实例 |
50 |
3 |
|
UnresponsiveProcessCount |
未响应的进程数 |
实例 |
2 |
1 |
规划沙盒解决方案控制
在规划沙盒解决方案的同时,应考虑有关控制问题的过程,其中包括:
· 在什么情况下服务器场管理员将阻止或取消沙盒解决方案?
· 在什么情况下会将沙盒解决方案作为完全信任解决方案传送到全局编录?
· 在规划谁能够部署沙盒解决方案时,选择向”Sites Collection Administrators”组中添加用户,还是选择为数量有限的网站集管理员建立一个过程来让这些管理员代表其用户部署沙盒解决方案?
浙公网安备 33010602011771号