SharePoint-2010: Verbessern der Leistung von SharePoint 2010 mit RSP
Speichern von BLOBs außerhalb der Datenbank kann die Leistung von SharePoint 2010 erhöhen.
Iqbal Khan
SharePoint ist ein Portal-Plattform äußerst beliebt geworden. Es bietet eine Vielzahl von Anwendungen für die Zusammenarbeit zwischen verschiedenen Unternehmen Gruppen oder sogar zwischen unterschiedlichen Unternehmen. Prozess Management, die Dokumentverwaltung und andere wichtigen Anwendungen gehören alle Features des SharePoint-Array.
Popularität des SharePoint hat auch den Nachteil jedoch. Weitere Personen ihn verwenden, kann es größere Leistung und Skalierbarkeit Engpässe da SharePoint für alles, was eine starke Nutzung der SQL Server-Datenbank herstellt. Dabei kann es sich um strukturierte Daten oder Dokumente aus Microsoft Word, Excel, PowerPoint und Adobe Acrobat handeln. Diese Dokumente werden aus der Datenbank stammen.
Leistungsfragen
Es gibt zwei mögliche Probleme im Zusammenhang mit SharePoint 2010. Eine: Datenbanken können aufgrund von allen binary large Object (BLOB) Daten außergewöhnlich groß werden. Lesen und Schreiben von BLOBs sowie andere relationalen Daten, können Sie die Leistung von SQL Server verlangsamen, da keine der ideale Ort zum Speichern von BLOBs ist.
Relationale Datenbanken sind für strukturierte relationale Daten ausgelegt. Die Architektur ist auf, ausgerichtet. Microsoft hat Unterstützung für BLOBs hinzugefügt, aber es ist nicht die ideale Situation. Die Dateispeicherung auf der anderen Seite dient zum Speichern von Dateien, die im Grunde Streams von Daten oder BLOBs werden.
SharePoint-2010 ist stark dokumentorientierten mit Word, Excel, PDF und PowerPoint-Dateien. Die Vielzahl von umfangreichen Dokumenten stellt schnell die Datenbank größer als möglich ist. Daher kann die Leistung von SharePoint einen Treffer nutzen. Abbildung 1 zeigt die Leistungsprobleme, die SQL Server-Datenbank und die BLOBs zugeordnet.
Abbildung 1 Bloated SQL Server-Datenbank verlangsamt SharePoint 2010.
Dadurch werden mehr aggravated, Hinzufügen von mehr Benutzern und Dokumente zu SharePoint. Wenn Sie Zehntausende von Dokumenten, die in der Datenbank gespeichert haben, die Datenbank wird überladene, und zahlreiche Dokumente, die zwischen der SharePoint-Webfarm und der SQL-Datenbank wechseln müssen.
Die Größe der Datenbank überdurchschnittlich große wächst, trägt dies wesentlich Sluggishness Datenbank. Wenn dieser SharePoint-Daten strukturierten relationalen Daten, konnte es Intelligent und ordnungsgemäß behandelt, von SQL Server indiziert werden.
Gesamtgröße der BLOB-Daten kann schnell erweitern und Vergrößerung größer ist als die Gesamtgröße im Dokumentmetadaten und andere Struktur Daten in der Datenbank gespeichert. Es ist hilfreich, um BLOB-Daten aus der SQL Server-Datenbank und in einem separaten Speicher zu verschieben. Ist da BLOB-Daten viel Speicherplatz in Anspruch nehmen und Serverressourcen, die optimiert sind Zugriffsmuster der Datenbank verwendet.
Verschieben von BLOBs außerhalb der Datenbank
In Microsoft Office SharePoint Server (MOSS) 2007 hat Microsoft einen Mechanismus namens externe BLOB-Speicher oder EBS bereitgestellt. EBS Plug-In-Architektur geholfen Drittanbieter, die SharePoint-Datenbank Datenverkehr abfangen und des BLOB-Datenverkehrs an einen separaten BLOB-Speicher ein EBS-Modul zu installieren. EBS funktioniert und Sie dieses Problem sehr effektiv behandelt.
EBS ermöglicht das Migrieren von BLOBs aus der Datenbank, bewahren Sie diese Informationen in der Datei Systemspeicher ein Storage Area Network (SAN) oder die Network-attached Storage (NAS). Diese Speichersysteme wurden sich ideal zum Speichern von BLOBs, da hierbei handelt es sich um alle Dokumente, Excel, Word, PDF, solche Dinge –, die eine typische Organisation erstellt und auf seine Benutzer gemeinsam verwendet.
Allerdings kann nicht direkt EBS verwenden, da kein EBS-Anbieter mit MOSS 2007 gebündelt ist. Ein weiterer Nachteil EBS ist nicht hundertprozentig architektonisch .NET, jedoch weiterhin basierend auf der alten COM-Schnittstelle. In diesem Fall müssen Sie die Fremdanbieter-Anbieter von EBS verlassen. Ohne die Hilfe eines Moduls Fremdanbieter-IT EBS kann nicht verwendet werden. Ein Drittanbieter-Modul muss auch Probleme wie BLOB-Bereinigung erledigen. Wenn ein BLOB gelöscht wird, fordert SharePoint nie das Modul, das BLOB zu löschen. Es hält einfach darauf verweisen.
Ein BLOB Garbagecollection oder BLOB-Cleanup-Feature, das in regelmäßigen Abständen alle diese BLOBs von SharePoint nicht mehr verwiesen sucht, muss das EBS-Modul Kreditoren Schreiben verfügen. Er löscht Sie da der Benutzer die Dokumente gelöscht.
Auf ähnliche Weise aktualisiert der Benutzer ein Dokument aktualisiert, SharePoint nie tatsächlich vorhandene BLOB. Immer wird ein neuer BLOB, erstellt, sodass ältere BLOB noch ungefähr ist. Das Feature Garbage Auflistung des Moduls EBS muss diese BLOBs entfernen. EBS wird den Auftrag entsprechend, dass Sie tatsächlich die Leistung von SharePoint etwas ganz, verbessert indem die BLOBs aus der Datenbank zu verschieben.
Geben Sie SQL Server 2008 und RSP
Microsoft SQL Server 2008 verfügt über ein integriertes Feature von Remote-BLOB-Speicher (RSP). RSP kann SQL Server-Benutzer die BLOBs außerhalb der Datenbank speichern. Microsoft bietet einen integrierten FILESTREAM-Anbieter für das reguläre Dateisystem. Er hat auch die Benutzeroberfläche und die Spezifikationen für Third-Party Storage-Unternehmen für die Entwicklung von Anbietern für diese spezielle Speichergruppe veröffentlicht. Unternehmen wie Hitachi, EMC oder sogar Wolke Speicher wie Windows Azure oder Amazon-Cloud-Speicher können jetzt implementieren oder die RSP-Implementierung für Ihre eigenen Speichersysteme bieten.
Alle diese Features sind verfügbar für Benutzer von SQL Server 2008. SharePoint tippt auch in dieser so von SharePoint 2010 konfigurieren, SQL Server 2008 als Content-Datenbank zu verwenden. Der RSP in SharePoint 2010 verwenden, müssen Sie SQL Server 2008 verwendet werden, obwohl SharePoint 2010 mit SQL Server 2005 verwendet werden kann; SQL Server 2005 verfügt nicht über die RSP-Funktion.
Aus der Perspektive des SharePoint ist RSP dieselbe Funktion wie das EBS. Es ist ein Mechanismus zum Speichern von BLOBs außerhalb der Datenbank. Der einzige Unterschied besteht darin, die mit EBS ist, mussten von Drittanbietern die EBS-Module enthalten. Mit RSP hat Microsoft bereits einen FILESTREAM-Anbieter.
Sie werden feststellen, dass die einfachste Möglichkeit zur Verwendung von RSP in SharePoint über ein Drittanbieterprodukt ist. Auf diese Weise wird den gesamten Prozess äußerst benutzerfreundlich, umfassenden und verwaltet alles über GUI-Tools. Wenn Sie Software von Drittanbietern nicht gefällt, können Sie für BLOB-Speicherung in SQL Server 2008 und SharePoint 2010 RSP konfigurieren.
RSP in SQL Server 2008 verfügt über einen integrierten Garbagecollectionvorgang RSP Maintainer, die es nicht für EBS war aufgerufen. RSP Maintainer ist ein separater Prozess und bereinigt alle die nicht referenzierte BLOBs, die mit EBS, musste der Drittanbieter selbst implementieren.
Aus Sicht des Benutzers bieten sowohl für RSP EBS jedoch für den gleichen Wert für die Implementierung von Drittanbietern. Wenn der Benutzer keines Fremdanbieters verwenden möchte, ist RSP die einzige Option dar. Wenn der Endbenutzer eine Lösung von Drittanbietern für die BLOBs die Datenbank dann, die Rolle nicht konnte für RSP oder EBS handeln.
EBS, und RSP Verbessern der Leistung von SharePoint gleichermaßen. Der Unterschied ist eine ältere COM-Schnittstelle EBS benötigt, während RSP eine ausschließlich auf .NET basierende Lösung ist. Im Hinblick auf die Technologie passt RSP zu .NET recht gut. EBS hängt immer noch eine legacy-Schnittstelle.
Sie können konfigurieren, dass SharePoint 2010 FILESTREAM RSP-Anbieter verwendet die in SQL Server 2008 integriert ist. Derzeit ist der einzige Anbieter, der im Lieferumfang von SQL Server 2008. In der Zukunft sehen Sie andere Drittanbieter RSP. Mit diesen können Sie die BLOBs in diese verschieben, außerhalb der Speicher (siehe Abbildung 2 ).
Abbildung 2 BLOBs von SQL Server 2008 mit RSP verschoben
Verschieben die BLOBs außerhalb der Datenbank ist ein Schlüsselelement von Ihrer SharePoint-Leistung zu verbessern und Ihre Datenbank viel leichter machen. Allerdings müssen Sie sich bewusst sein, dass andere Dinge, die müssen Sie tun, wenn Sie weiter verbessern der Leistung von SharePoint, sind.
BLOB und Zwischenspeichern von Listen auch verbessern Leistung
Nachdem Sie die BLOBs externalize, kann Zwischenspeichern von BLOB-Daten Weitere und deutlich verbessern der Leistung von SharePoint-Anwendung. Dies gilt besonders bei Verwendung einen verteilten Cache für häufig verwendete BLOBs in Web-Erinnerungen Server Front-End-(WFE). Schleifen BLOB-Speicherung minimiert. Auf diese Weise können die BLOBs schnell gelesen und beschleunigen Sie die Antwortzeit des SharePoint-Anwendung.
Sie können auch für andere Arten von Daten zwischenspeichern. SharePoint macht es sich z. B. um die häufige Verwendung der Listendaten zwischengespeichert werden können. Die Listendaten Zwischenspeichern ist ein weiterer Vorteil, den in-Memory-Cache bereitstellt. Praktisch alles in SharePoint 2010 wird in der Liste angezeigt. SharePoint muss Datenbank Schleifen jedes Mal beim Lesen der Liste stellen. Durch Zwischenspeichern von diesen Listen in den Arbeitsspeicher des Servers WFE zahllose Datenbank Schleifen vermeiden und die Leistung verbessern. Zwischenspeichern von BLOBs und Listendaten kann erheblich Leistung erhöhen (siehe Abbildung 3 ).
Im Arbeitsspeicher Zwischenspeichern wird beträchtliche Traction in .NET- und Java-Leerzeichen erlangen. Der Cache sollten auf Ihren Servern WFE ausführen. Je nachdem, ob Sie 32- oder 64-Bit-Server verfügen, kann es bis zu 500 MB möglichst wenige zuweisen 5 GB oder 10 GB Speicher, je nachdem, wie viel Speicher Sie haben zur Verfügung.
Bei diesem Zwischenspeicher handelt, die Daten, die die WFE aus dem BLOB-Speicher oder von SQL Server gelesen wird, und alle transparent ist. Was auch immer abgerufen wird, wird automatisch im Cache gespeichert. Das nächste Mal, das SharePoint dieselben Daten, benötigt sei es das BLOB oder der Liste, wird er es im verteilten Cache finden. Dies bedeutet, dass der Cache tatsächlich mehrere WFE Server umfasst.
Für große Installationen können Sie einen dedizierten Zwischenspeichern Ebene im Cache migrieren. Wird eine verteilte Cache kann über mehrere Server hinweg synchronisiert bleiben. So wird ein Dokument von einem Webserver aktualisiert, werden die anderen auch wissen. Zwischenspeichern kann Leistung auf die nächste Ebene werden, da in-Memory-Cache extrem schnell.
Abbildung 3 Zwischenspeichern der Daten weiter verbessert die Leistung von SharePoint
Wenn Ihre SharePoint konfiguriert ist, einen einzigen Arbeitsprozess auf jede WFE verwenden, können Sie den Cache in den Arbeitsprozess beibehalten. Allerdings müssen Sie die Größenbeschränkung von Worker-Prozess Speicher auf einer 32-Bit-Plattform berücksichtigen – ein einzelner Worker-Prozess kann nicht mehr als 1 GB verfügen. Wenn dies der Fall ist, können Sie den Cache in einem separaten Prozess beibehalten.
Nachdem BLOBs externalized werden und Zwischenspeicherung wird implementiert, verbessern Sie Leistung mehrmals, da Sie nicht mehr die Schleifen teure Netzwerk vornehmen. Sie nun nicht auf BLOB-Speicher, und Sie für die Listendaten nicht SQL Server nun. Alles ist direkt in den Arbeitsspeicher des Servers WFE.
Leistungsbenchmarks mit einem in-Proc-Cache anzeigen, dass die Leistung mindestens drei bis vier Mal schneller, ist weil die Daten in Ihren eigenen Prozessarbeitsspeicher. Auch wenn Sie außerhalb des Prozesses ist, ist prozessübergreifende Kommunikation auf das gleiche Feld viel schneller als beim Wechseln über das Netzwerk.
Während Sie sicherlich eigene Zwischenspeicherung implementieren können durch Ihre Entwickler einige Programmierung durchführen müssen, empfiehlt es sich, mit einen Fremdanbieter-verteilten Cache um zeitaufwändig und fehleranfällig-Installation zu verhindern.
Nutzen Sie die Vorteile der BLOB-Externalization mit SQL Server 2008 RSP und verbessern Sie die Leistung Ihrer SharePoint-2010. Wenn Sie nicht auf SQL Server 2008 verschieben vorbereitet sind, aber dennoch BLOBs externalize möchten, können Sie manuell oder verwenden eine Option für die Fremdanbieter-BLOBs über EBS aus der Datenbank zu verschieben.
Iqbal Khan ist der Präsident und Technologie Evangelist von Alachisoft (alachisoft.com). Alachisoft bietet NCachePoint & NCache. NCachePoint ist der Branche führenden SharePoint-Leistung und Skalierbarkeit Produkt und NCache ist eine beliebte verteilte .NET-Cache. Sie erreichen ihn unter iqbal@alachisoft.com.