2010 SharePoint: Migliorare le prestazioni di SharePoint 2010 con RBS

Archiviazione BLOB all'esterno del database può elevare le prestazioni di SharePoint 2010.

Iqbal Khan

SharePoint è diventata una piattaforma estremamente diffuso portale. Fornisce un numero elevato di applicazioni per la collaborazione tra gruppi diversi di società o persino tra aziende diverse. Gestione processi, gestione dei documenti e altre applicazioni principali sono tutti componenti di matrice della SharePoint delle funzionalità.

Ma la popolarità di SharePoint ha anche il lato negativo. Come utilizzare altre persone, possono esistere principali delle prestazioni e problemi di scalabilità Poiché SharePoint rende un intenso utilizzo del database di SQL Server per ogni operazione. Potrebbe trattarsi di documenti provenienti da Microsoft Word, Excel, PowerPoint e Adobe Acrobat o dati strutturati. Tutti questi documenti provenienti dal database.

Problemi relativi alle prestazioni

Esistono due problemi potenziali associati a SharePoint 2010. Uno: I database possono aumentare grandi dimensioni a causa di tutti i dati dell'oggetto binario di grandi dimensioni (BLOB). Due: Lettura e scrittura di BLOB, nonché altri dati relazionali può rallentare le prestazioni di SQL Server perché non è la soluzione ideale per memorizzare dei BLOB.

I database relazionali sono progettati per gestire dati relazionali strutturati. L'architettura è rivolto a che.  Microsoft ha aggiunto il supporto per BLOB, ma non la situazione ideale. D'altro canto, l'archiviazione di file è possibile memorizzare file, fondamentalmente sono flussi di dati o BLOB.

SharePoint 2010 è ampiamente documento incentrato con file Word, Excel, PDF e PowerPoint. Che gran numero di documenti di grandi dimensioni rapidamente rende il database maggiore di quanto è pratico. Di conseguenza, le prestazioni di SharePoint possono richiedere un riscontro. Figura 1 Mostra i problemi di prestazioni associati al database SQL Server e un BLOB.

Figura 1 Bloated SQL Server database rallenta SharePoint 2010.

Ciò può diventare più aggravated si aggiungono ulteriori utenti e documenti di SharePoint. In caso di decine di migliaia di documenti memorizzati nel database, il database diventa overload e sono disponibili molti documenti che devono passare e indietro tra la farm Web di SharePoint e il database SQL.

Man mano che aumenta la dimensione del database eccessive, ciò contribuisce significativamente alla sluggishness database.  Se i dati SharePoint dati relazionali strutturati, può essere indicizzata in modo intelligente e correttamente gestiti da SQL Server.

Dimensione totale dei dati BLOB può espandere rapidamente e crescita maggiore della dimensione totale di metadati documenti e altri dati di struttura memorizzati nel database. È utile spostare i dati BLOB dal database di SQL Server e inserirle in un archivio separato. Perché i dati BLOB possono occupare molto spazio e utilizza le risorse del server sono ottimizzate per modelli di accesso ai database.

BLOB lo spostamento di database

In Microsoft Office SharePoint Server (MOSS) 2007, Microsoft ha un meccanismo denominato archiviazione BLOB esterni o EBS. L'architettura plug-in EBS ha contribuito a terze parti installare un modulo di EBS per intercettare il traffico del database di SharePoint e reindirizzare tutto il traffico BLOB in un'archiviazione BLOB separato. EBS funziona correttamente e gestisce in modo molto efficace il problema.

EBS consente di migrare BLOB di accedere al database, conservarli in archiviazione nel file system, una rete di area di archiviazione (SAN) o un network attached storage (NAS). Questi sistemi di archiviazione sono stati sono adatti per l'archiviazione BLOB perché questi sono tutti i documenti, Excel, Word, PDF, questi tipi di operazioni, che crea un'organizzazione tipica e condivide tra gli utenti.

Tuttavia, non può utilizzare direttamente EBS poiché non viene fornito nessun provider di EBS con MOSS 2007. Un altro svantaggio EBS non è al 100% architettura. NET, ma comunque basati sull'interfaccia COM precedente. In questo caso, deve basarsi su un provider di terze parti di EBS. Senza l'aiuto di un modulo di terze parti, IT non può utilizzare EBS. Dispone di un modulo di terze parti per occuparsi anche di problemi quali la pulitura BLOB. Quando viene eliminato un BLOB, SharePoint non chiede il modulo per eliminare il BLOB. Si interrompe semplicemente facendo riferimento a esso.

La scrittura di EBS modulo Fornitori deve avere un BLOB garbage collection o funzionalità di pulitura BLOB che cerca periodicamente tutti i BLOB non viene più fatto riferimento da SharePoint. Quindi eliminati perché l'utente eliminato tali documenti.

Analogamente, se l'utente aggiorna un documento, SharePoint Aggiorna mai effettivamente il BLOB esistente. Crea sempre un nuovo BLOB in modo che sia ancora circa il BLOB precedente. La funzionalità di insieme garbage del modulo EBS necessario rimuovere tali BLOB. EBS non adeguatamente il processo in quanto effettivamente migliora le prestazioni di SharePoint piuttosto un po' spostando i BLOB di accedere al database.

Specificare SQL Server 2008 e RBS

Microsoft SQL Server 2008 dispone di una funzionalità incorporata di archiviazione remota BLOB (RBS). RBS consente agli utenti di SQL Server di archiviare tutti i BLOB all'esterno del database. Microsoft fornisce un provider FILESTREAM incorporato per il sistema di file normali. Ha inoltre pubblicato l'interfaccia e le specifiche per le aziende di archiviazione di terze parti per lo sviluppo di provider per l'archiviazione speciali. Società quali Hitachi, EMC o archiviazione cloud anche come Windows Azure o archiviazione cloud Amazon, possono ora implementare o fornire l'implementazione di RBS per i propri sistemi di archiviazione.

Tutte queste funzionalità sono disponibili per gli utenti di SQL Server 2008. SharePoint potrà inoltre in questo è possibile configurare SharePoint 2010 per utilizzare SQL Server 2008 come database di contenuto. Per utilizzare la funzionalità RBS in SharePoint 2010, è necessario utilizzare SQL Server 2008, sebbene SharePoint 2010 funziona con SQL Server 2005, SQL Server 2005 non dispone della funzionalità RBS.

Dal punto di vista di SharePoint, RBS non esattamente la stessa cosa EBS. Si tratta di un meccanismo per l'archiviazione BLOB all'esterno del database. L'unica differenza è che con EBS, produttori dovevano fornire i moduli di EBS. Con RBS, Microsoft ha già un provider FILESTREAM.

Troverete che il modo più pratico utilizzare RBS in SharePoint è tramite un prodotto di terze parti. Questa operazione rende l'intero processo estremamente semplice da utilizzare, completa e tutto ciò amministrati tramite strumenti GUI. Software di terze parti non è soddisfacente, è possibile configurare RBS per archiviazione BLOB in SQL Server 2008 e SharePoint 2010.

RBS in SQL Server 2008 è un processo insieme garbage incorporato denominato gestore RBS, che non è presente per EBS. RBS gestore è un processo separato e pulisce tutti i senza riferimenti BLOB, quale con EBS, doveva implementare autonomamente il fornitore di terze parti.

Tuttavia, dal punto di vista dell'utente, RBS ed EBS forniscono lo stesso valore con l'implementazione di terze parti. Se l'utente non desidera utilizzare un fornitore di terze parti, RBS è l'unica opzione disponibile. Se l'utente finale non presente una soluzione di terze parti per portare i BLOB di accedere al database, quindi che sia possibile per RBS o EBS.

EBS e RBS migliorare le prestazioni di SharePoint ugualmente. La differenza è che EBS si basa su un'interfaccia COM preesistente, mentre RBS è una soluzione basata esclusivamente su. NET. Da una prospettiva tecnologia RBS visualizzabile per .NET abbastanza bene. EBS dipende ancora un'interfaccia legacy.

È possibile configurare SharePoint 2010 per utilizzare il provider di FILESTREAM RBS incorporato in SQL Server 2008. Attualmente, che è l'unico provider fornito con SQL Server 2008. In futuro, si vedrà altri provider RBS. Con queste informazioni, è possibile spostare i BLOB in questo di fuori di archiviazione (vedere di Figura 2).

Figura 2 BLOB viene spostato all'esterno di SQL Server 2008 con RBS

Spostare i BLOB all'esterno del database è un elemento fondamentale di migliorare le prestazioni di SharePoint e rendere il database molto più gestibile. Tuttavia, è necessario tenere presente che esistono altre operazioni da effettuare se si ha intenzione di migliorare ulteriormente le prestazioni di SharePoint.

BLOB e caching elenco anche migliorare le prestazioni

Una volta si externalize i BLOB, la cache dati BLOB può ulteriormente e migliorare notevolmente le prestazioni dell'applicazione SharePoint. Ciò è particolarmente vero quando si utilizza una cache distribuita di frequente BLOB in ricordi i server Web front-end (WFE). Ciò riduce trip archiviazione BLOB. In questo modo, è possibile leggere tali BLOB rapidamente e accelerare i tempi di risposta dell'applicazione SharePoint.

È inoltre possibile utilizzare la cache per altri tipi di dati. Ad esempio, SharePoint utilizza in modo intensivo dei dati di elenco che è possibile memorizzare nella cache. La memorizzazione nella cache dei dati di elenco è un altro vantaggio che fornisce nella memoria cache. Praticamente tutto in SharePoint 2010 è riportato nell'elenco. SharePoint deve andata e ritorno al database ogni volta che a leggere l'elenco. Memorizzando nella cache gli elenchi nella memoria del server WFE, evitare innumerevoli viaggi di database e migliorare le prestazioni. Cache BLOB e dati di elenchi può elevare notevolmente i livelli di prestazioni (vedere di Figura 3).

La memorizzazione nella cache in memoria sta per essere considerevole traction negli spazi di .NET e Java. La cache deve essere eseguita sui server WFE. A seconda se si dispone di server a 32 o 64 bit, può essere allocato da un minimo di 500 MB a 10 GB di memoria o 5 GB, a seconda della quantità di memoria disponibile.

Questa cache è il WFE viene letta da archiviazione BLOB o da SQL Server, tutti i dati ed è tutto trasparente. Tutto ciò viene recuperata automaticamente viene conservata nella cache. La volta successiva che gli stessi dati, è necessario SharePoint se il BLOB o elenco, troverà nella cache distribuita. Ciò significa che la cache effettivamente si estende su più server WFE.

Per installazioni di notevoli dimensioni, è possibile migrare anche la cache per un livello di cache dedicato. Da una cache distribuita consente rimangono sincronizzate su più server. Pertanto se viene aggiornato un documento da un server Web, altri saprà anche su di esso. La memorizzazione nella cache consente di richiedere prestazioni al livello successivo perché è estremamente rapida nella memoria cache.

Figura 3 ulteriori dati nella cache migliora le prestazioni di SharePoint

Se di SharePoint è configurato per utilizzare un processo di lavoro singola su ogni WFE, è possibile conservare nella cache all'interno del processo di lavoro. Tuttavia, occorre considerare la dimensione massima memoria processo di lavoro su una piattaforma a 32 bit, ovvero un processo di lavoro singola non può avere più di 1 GB. Se questo è il caso, è possibile mantenere la cache in un processo separato.

Dopo che sono externalized BLOB e la memorizzazione nella cache è implementata, è migliorare le prestazioni più volte perché non si apportano tali percorsi di rete costose. Non si ha intenzione di archiviazione BLOB e non si ha intenzione di SQL Server per i dati dell'elenco. Tutto è a destra presente nella memoria del server WFE.

I benchmark delle prestazioni con una cache in-process mostrano che le prestazioni sono almeno tre o quattro volte più veloce perché i dati nella memoria di processo. Anche se è fuori proc, comunicazione interprocesso sulla stessa è molto più veloce rispetto a quando passare attraverso la rete.

Mentre è certamente possibile implementare la propria cache grazie agli sviluppatori di eseguire alcuni programmazione, è preferibile utilizzare una cache distribuita di terze parti per evitare lunga e soggetta a errori di installazione.

Usufruire di Esternalizzazione BLOB con SQL Server 2008 RBS e migliorare le prestazioni di SharePoint 2010. Se si desidera comunque externalize BLOB non è preparato per passare a SQL Server 2008, è possibile farlo manualmente o utilizzare un'opzione di terze parti per spostare il BLOB di accedere al database tramite EBS.

Iqbal Kahn

Iqbal Khan è il presidente e tecnologia evangelista di Alachisoft (alachisoft.com). Alachisoft fornisce NCachePoint & NCache. NCachePoint è iniziale SharePoint prestazioni e scalabilità prodotto del settore e NCache è una cache di .NET distribuite più diffusa. È possibile contattarlo all'indirizzo iqbal@alachisoft.com .

 

Contenuto correlato