規劃沙箱化解決方案 (SharePoint Server 2010)

 

適用版本: SharePoint Foundation 2010, SharePoint Server 2010

上次修改主題的時間: 2016-11-30

Microsoft SharePoint Server 2010 中的沙箱化解決方案會限制網路和本機資源的存取,以提供更高的安全性與穩定性。您可以將沙箱化解決方案應用於負載平衡解決方案、尚未充分測試的解決方案,也可以在主控環境中部署使用者解決方案時應用沙箱化解決方案。沙箱化解決方案會以不同的工作者處理序執行,因此無法存取屬於其他解決方案的資源,且存取本機和網路資源時會受到限制。

當您規劃沙箱化解決方案時,請先決定是否要使用沙箱化解決方案。您應該決定您的首要考量是效能或是安全性。使用沙箱化解決方案的伺服器陣列所產生的工作者及 Proxy 程序,會多於未使用沙箱化解決方案的伺服器陣列。使用沙箱化解決方案提供較佳的程序隔離,這樣可以改善伺服器陣列的安全性。

如需沙箱化解決方案的詳細資訊,請參閱<沙箱化解決方案概觀 (SharePoint Server 2010)>和沙箱化解決方案 (可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=220257&clcid=0x404) (可能為英文網頁)。

本文內容:

  • 決定使用沙箱化解決方案的時機

  • 規劃進行沙箱化解決方案程式碼的負載平衡

  • 決定部署沙箱化解決方案的位置

  • 決定部署沙箱化解決方案的人員

  • 決定執行沙箱化解決方案的網站集合

  • 規劃沙箱化解決方案的資源用量配額

  • 規劃沙箱化解決方案服務層

  • 規劃沙箱化解決方案管理

決定使用沙箱化解決方案的時機

當您想在多個伺服器之間對多個解決方案進行負載平衡,或當您想提供功能來執行尚未充分測試過的程式碼或您的組織不支援的程式碼時,適合使用沙箱化解決方案。以組織的開發人員而言,從他們的測試環境開始,一直到生產環境中的沙箱化解決方案為止,沙箱化解決方案可以在量化部署中扮演重要的角色。當解決方案被證明可以放心全面部署時,伺服器陣列管理員就可以將沙箱化解決方案變更成完全信任狀態。

在以下情況中,最適合使用沙箱化解決方案:

  • 當您想在多個 SharePoint Server 伺服器之間對多個解決方案進行負載平衡時。

  • 當組織想在實際執行 SharePoint Server 網站上為員工執行程式碼,但該程式碼尚未經過嚴格的審查和測試時。

  • 網際網路代管提供者想要讓代管之 SharePoint Server 網站的擁有人,上傳以及執行自訂的程式碼。

當您使用沙箱化解決方案時,必須在想執行沙箱化解決方案的每一部伺服器上啟動沙箱化解決方案服務。

規劃進行沙箱化解決方案程式碼的負載平衡

您可以為沙箱化解決方案選取兩種負載平衡配置的其中一種。根據負載平衡配置,Microsoft SharePoint Server 2010 會判斷哪些伺服器會執行沙箱化解決方案。在本機負載平衡處理中,解決方案會在與收到要求的同一部伺服器上執行。如果您選取遠端負載平衡處理,會根據解決方案相關性選取方案執行所在的伺服器,而且沙箱化解決方案會在載入它的伺服器上執行,而且應該早已經執行了。這樣可以節省花在處理解決方案各項要求的時間。在這兩種情況下,在主控沙箱化解決方案的每一部伺服器都必須執行沙箱化解決方案服務。

您的負載平衡選擇會決定整個 SharePoint Server 伺服器陣列所使用的模型。您不可以混合使用本機與遠端負載平衡二者,而必須決定實作其中一種。決定要實作的模型時,請考慮以下幾點:

  • 本機模式不需要太多的管理,不過它的擴展性會受限於本機伺服器的資源。

  • 遠端模式的擴展性比本機模式更強。不過,它需要在更多的伺服器上執行管理工作。

在多個伺服器執行沙箱化解決方案的 SharePoint Server 伺服器陣列中,使用遠端負載平衡可以得到更佳的效能。如果您在開發過程中使用沙箱化解決方案,而且想限制只有呼叫這些解決方案的伺服器才可以使用,請使用本機模式負載平衡。

如需詳細資訊,請參閱<沙箱化解決方案概觀 (SharePoint Server 2010)>。

決定部署沙箱化解決方案的位置

沙箱化解決方案會部署到網站集合的根目錄。只要是網站管理員就可以部署沙箱化解決方案。當沙箱化解決方案部署到網站集合後,就可以在該網站集合中的任何地方使用。

您可以決定只在 SharePoint Server 伺服器陣列中的特定伺服器或在所有伺服器上執行沙箱化解決方案。若要在伺服器上啟動沙箱化解決方案,您必須啟用沙箱化解決方案服務。您必須在執行沙箱化解決方案的每一部伺服器上啟用此服務。

決定部署沙箱化解決方案的人員

當您規劃參與沙箱化解決方案部署的使用者角色時,必須決定授權部署解決方案以及管理解決方案的人員。網站集合管理員群組的成員可以部署沙箱化解決方案。

您必須是伺服器陣列管理員群組的成員,才能執行各種管理工作,例如啟用或停用沙箱化解決方案服務、封鎖解決方案或撤除解決方案的封鎖,以及調整或重設配額和配額範本。

注意

若要部署和啟用沙箱化解決方案,只擁有網站集合擁有人的身分還不夠,您必須是部署沙箱化解決方案網站集合的網站集合管理員。

因為伺服器陣列管理員可以將沙箱化解決方案變更成完全信任的方案,而且可以部署到伺服器陣列的任何地方,所以請您確定將伺服器陣列管理員的成員資格授與適當的使用者。如果您對目前部署中沙箱的安全性有任何考量,則在將使用者新增至網站集合管理員的時候,也要考慮到這些的問題。

決定透過配額來執行沙箱化解決方案的網站集合

透過配額的調整,沙箱化解決方案就可以在特定的網站集合上啟用或停用。如果您在特定網站集合上,將沙箱化解決方案的配額設定成 0,該網站集合就不會執行沙箱化解決方案。按照這種方式,您就可以微調伺服器陣列中各個沙箱化解決方案的使用情況。

若要規劃想要部署沙箱化解決方案的位置,則應該考量下列項目:

  • 執行沙箱化解決方案服務的伺服器。

  • 可以執行沙箱化解決方案的網站集合。

如果您在某些網站集合上啟用沙箱化解決方案,請將其餘網站集合的配額設定成 0,這樣可以停用這些網站集合的沙箱化解決方案。

規劃沙箱化解決方案的資源用量配額

系統將會根據每個網站集合監視的預設配額,監視沙箱化解決方案的資源使用狀況。如果某個沙箱化解決方案超過資源點的累計總和,當天其餘的時間都會停用該網站集合中的所有沙箱化解決方案。如此一來,當特定沙箱化解決方案對共用的資源發出太多要求,或者有時含有大量消耗資源之沙箱化解決方案的網站集合需要增加配額時,管理員便可以快速掌握情況。

沙箱化解決方案執行時,會累算整個網站集合的資源點。當您檢視配額中的資源測量時,會看到每點資源的數目;這些是可以在累算單一資源點之前使用特定資源的次數。資源使用狀況達到 ResourcePerPoint 屬性所指定的限制時,網站集合會累算資源點。如果資源點的累計數目超過網站集合的配額,則當天的其餘時間會停用網站集合中的所有沙箱化解決方案。

預設資源點限制適用於大部分的情況。不過,您可以調整個別資源點限制,以允許增加它們適合的限制。如需如何調整個別資源點限制的詳細資訊,請參閱<設定沙箱化解決方案的資源點 (SharePoint Server 2010)>。

當您規劃沙箱化解決方案的配額時,應該考量下列問題:

  • 是否要調整任何資源測量類別的每點資源?

    您可以定義所有沙箱化解決方案的資源限制。在部分情況下,可能會限制對誤用或過度使用之資源較為敏感的特定資源 (如伺服器上已加重處理器負擔的 CPU 週期)。您可以調整資源限制,限制可能會過度使用資源的沙箱化解決方案。您應該檢查沙箱化解決方案配額所監視的資源清單,以及決定是否必須進行調整。

  • 是否要調整任何資源類別的絕對限制?

    絕對限制是每個要求的資源使用狀況在停止要求之前可以達到的最高或最低限制。如果特定資源類別過度使用並達到絕對限制,則會停止沙箱化解決方案。您應該評估資源類別,決定其中是否有任何項目需要調整為較高或較低的絕對限制。

如需個別資源測量和最小臨界值、絕對限制以及每個資源之每點資源的清單,請參閱 SharePoint 2010 中沙箱化解決方案的資源使用狀況限制 (可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=217149&clcid=0x404) (可能為英文網頁)。如需如何設定絕對限制和特定資源測量之每點資源的詳細資訊,請參閱<設定沙箱化解決方案的資源點 (SharePoint Server 2010)>。

規劃沙箱化解決方案服務層

根據沙箱化解決方案使用的平均資源數目,可以在沙箱化解決方案服務中分成數個「層」 。沙箱化解決方案服務中的層包含沙箱化解決方案在其中執行的一個或多個工作者處理序。每個沙箱化解決方案都是在其專屬應用程式網域中執行,並在呼叫解決方案時重複使用該應用程式網域。根據預設,在沙箱化解決方案服務中執行的所有方案都在一個層中。您可以在沙箱化解決方案服務中設定其他層和工作者處理序,以區隔解決方案的效能、安全性以及可靠性。沙箱化解決方案會自動根據其資源使用狀況分成其他層。如需各層的詳細資訊,請參閱<沙箱化解決方案概觀 (SharePoint Server 2010)>和沙箱層 (可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=217145&clcid=0x404) (可能為英文網頁)。

您可以設定所需數目的層,以及想要之數目的工作者處理序、連線和應用程式網域。不過,建立太多的層會嚴重影響 SharePoint Server 伺服器的效能。當您規劃設定沙箱化解決方案服務時,應該考慮下列問題:

  • 您要建立多少數目的層?

    設定多個層可讓您區分「正常執行」的沙箱化解決方案與「執行異常」的沙箱化解決方案 (會頻繁損毀或使用大量資源)。在不同的層執行沙箱化解決方案,會降低執行異常的沙箱化解決方案對正常執行的沙箱化解決方案的影響。這有助於讓系統更為穩定和更具反應。您一般應該不需要有兩個或三個以上的層,以區隔沙箱化解決方案。

  • 要針對每個層設定的工作者處理序數目為何?

    使用下列公式,可以計算同時在特定層執行的最大沙箱化解決方案數目:

    該層中的工作者處理序數目 × 每個處理序最大連線數 = 單層中的最大並行執行沙箱化解決方案數目

    設定層以執行更多的工作者處理序,就可以在伺服器陣列中並行執行更多的沙箱化解決方案。新增更多的工作者處理序可以增加給定伺服器的產量,但最多只到特定點。因為其他工作者處理序的額外負荷可能會降低伺服器的整體產量,所以您應該在單一伺服器的所有層上設定 20 個以下的工作者處理序。

  • 每個處理序必須要有多少的連線數目?

    每個處理序的最大連線數目一律應該小於或等於每個處理序的應用程式網域數目。如果相同處理序中同時執行兩個沙箱化解決方案,但其中一個解決方案損毀,則另一個也會損毀。每個處理序的最大連線數目越大,可以在相同處理序中同時執行的沙箱化解決方案數目就越大,這樣損毀的沙箱化解決方案較可能會影響其他執行中要求。一般最好是在 ResourceMaxValue 屬性較高的層中具有較小的每個處理序的連線數目,而沙箱化解決方案一般較不可靠。較可靠的沙箱化解決方案是在 ResourceMaxValue 屬性較低的層中執行。您一般應該增加每個處理序的連線數目,以提高產量,進而降低相同處理序中可能會損毀的其他沙箱化解決方案所造成的影響。

  • 每個處理序必須要有多少的應用程式網域數目?

    一個應用程式網域中一次只能執行一個沙箱化解決方案。因此,應用程式網域代表可同時載入的沙箱化解決方案數目。您應該規劃設定應用程式網域數目至少等於每個處理序的連線數目。

如需如何設定這些層的詳細資訊,請參閱<設定沙箱化解決方案服務層 (SharePoint Server 2010)>。

規劃沙箱化解決方案管理

只要您還在規劃沙箱化解決方案,就應該考慮管理問題的程序。這包括下列幾點:

  • 伺服器陣列管理員應在何時封鎖或解除封鎖沙箱化解決方案?找出封鎖及解除封鎖沙箱化解決方案的管理原則,有助於避免混淆。

  • 您會在什麼時候將沙箱化解決方案傳送至通用類別目錄,成為完全信任的解決方案?這項決定適用於由組織開發人員所設計的解決方案程式碼。您應該擬定一種原則,用來判斷沙箱化解決方案應經過哪一種等級的測試後,才能適用於組織的生產環境。

  • 當您規劃可以部署沙箱化解決方案的人員時,是會決定將人員新增至網站集合管理員群組,或是要建立程序,讓數目有限的網站集合管理員代表其使用者部署沙箱化解決方案?視組織安全性考量之不同,您可以決定是要將人員直接新增至網站集合管理員群組,而不是讓他們要求沙箱化解決方案的部署權限。

See Also

Concepts

沙箱化解決方案概觀 (SharePoint Server 2010)
沙箱化解決方案管理 (SharePoint Server 2010)

Other Resources

沙箱化解決方案資源中心 (可能為英文網頁)
沙箱化解決方案架構 (https://go.microsoft.com/fwlink/?linkid=177368&clcid=0x404) (可能為英文網頁)
SharePoint 2010 中的沙箱化解決方案 (可能為英文網頁)
在 SharePoint 2010 中安裝、解除安裝和升級沙箱化解決方案 (可能為英文網頁)