Erweiterte Themen

Diese fortgeschrittenen Themen erfordern Änderungen an der web.config-Datei, die für den reibungslosen Betrieb von CentreStack entscheidend ist. Daher wird nicht empfohlen, die web.config-Datei zu ändern, ohne zuvor den Gladinet-Support zu konsultieren.

Aufteilung der Datenbank

Die Datenbank enthält zwei Arten von Informationen.

Die erste Art von Informationen sind die Konfigurationsdaten, die relativ statisch sind. Zum Beispiel Benutzername, Benutzer-E-Mail, vom Benutzer veröffentlichte freigegebene Dateien und Ordner usw. Diese Art von Informationen ist relativ klein. Sie kann auf 5000 Bytes pro Benutzer geschätzt werden. Also, wenn Sie 2000 Benutzer haben, kann es auf 10 MB geschätzt werden.

Die zweite Art von Informationen ist relativ volatiler. Zum Beispiel das Änderungsprotokoll der Datei, die Überwachungsspur und die Dateiliste für den Index. Es kann mit 100 Dateiänderungen pro Benutzer pro Tag geschätzt werden und jede Dateiänderung kann auf 1000 Bytes für die Datenbankspeicherung geschätzt werden. Also für einen 15-tägigen Zeitraum (Standardverlauf des Änderungsprotokolls) kann es auf 100*1000*15 = 1,5MB pro Benutzer für einen 15-tägigen Zeitraum geschätzt werden. Wenn Sie HIPAA-Konformität benötigen, kann der Standardverlauf des Änderungsprotokolls deutlich länger sein, so dass dieser Teil der Datenbank viel größer sein wird.

Aus Leistungs- und regulatorischen Gründen wird empfohlen, die Datenbank in zwei separate Datenbanken aufzuteilen, eine, die statische Informationen enthält und eine, die relativ mehr flüchtige Informationen enthält.

Die sekundäre Datenbank (für volatilere Daten) kann entweder eine MySQL-Datenbank oder eine Microsoft SQL-Datenbank sein.

Um die Datenbank aufzuteilen, erstellen Sie zunächst eine neue Datenbank, die dazu verwendet wird, die flüchtigen Informationen zu speichern. Erstellen Sie einen Datenbankbenutzer und gewähren Sie diesem Benutzer vollen Zugriff auf die Datenbank (entspricht db_owner). Nachdem die Datenbank und der Benutzer erstellt wurden, melden Sie sich als Cluster-Administrator in der CentreStack-Verwaltungskonsole an und navigieren Sie zu Cluster-Dashboard > Cluster-Einstellungen > Änderungsprotokoll. Aktualisieren Sie die Einstellung „Logging DB Connection String“ mit einer entsprechenden Verbindungszeichenfolge:

_images/image063-03192025.png

Beispiel für eine Verbindungszeichenfolge für MySQL-Datenbank

Server=localhost;Port=3306;Database=gladinet;Uid=root;Pwd=password;

Beispiel für eine Verbindungszeichenfolge für Microsoft SQL-Datenbank

Data Source=server_name;Initial Catalog=logging_db_name;User Id=user_id;Password=user_password;

Authentifizierungsalgorithmus auf Version 2 ändern

Wenn Sie eine neue Installation von CentreStack ohne vorhandene Benutzer haben, empfehlen wir Ihnen, den Authentifizierungsalgorithmus fest auf Version 2 zu setzen.

Sie können die Datei web.config im Stammordner des Installationsverzeichnisses finden (dieselbe web.config-Datei, auf die im vorherigen Abschnitt verwiesen wurde) und eine Zeile im Abschnitt <appSettings file=“branding.config“> hinzufügen.

<add key="sys_access_ver" value="2" />

Ändern Sie den Synchronisierten Uploader in einen Asynchronisierten Uploader

Unter C:Program Files (x86)CentreStack(oder dem Installationsverzeichnis) suchen Sie nach dem UploadDownloadProxy und identifizieren Sie die web.config-Datei. Finden Sie die Zeile mit dem SyncedStorageProxiedPutUploadHandler und ändern Sie diese zu StorageProxiedPutUploadHandler.

Diese Optimierung funktioniert möglicherweise nicht auf allen Systemen, daher wird empfohlen, dass Sie das Hochladen per Drag-and-Drop im Webportal testen, nachdem Sie die Änderung vorgenommen haben. Wenn es für Ihren IIS nicht funktioniert, können Sie die Änderung rückgängig machen oder den Gladinet-Support konsultieren.

<add name="storageuploadex" path="proxiedupload.up" verb="PUT"
  type="GladinetStorage.SyncedStorageProxiedPutUploadHandler"
  resourceType="Unspecified" preCondition="integratedMode" />

Zonenunterstützung

Wenn Sie zwei unabhängige CentreStack-Cluster haben, zum Beispiel einen Cluster in den USA und einen Cluster in Großbritannien, können Sie die Zonenunterstützung nutzen, um die beiden Cluster miteinander zu verbinden. Der Vorteil der Verwendung von Zonen ist, dass die Anmeldeanfrage des Endbenutzers automatisch an die Zone weitergeleitet wird, zu der der Benutzer gehört.

Skalierbarkeitstuning

CentreStack basiert auf ASP.NET und WCF. Standardmäßig verfügen sowohl ASP.NET als auch WCF über Drosselungskontrollparameter, die wir anpassen und entfernen können. Bitte beziehen Sie sich auf diesen MSDN-Artikel zur Leistungsoptimierung:

http://msdn.microsoft.com/de-de/library/ff647813.aspx

_images/image053.jpg

(Bildquelle: http://msdn.microsoft.com/de-de/library/ff647813.aspx)

_images/image054.jpg

(Bildquelle: http://msdn.microsoft.com/de-de/library/ff647813.aspx)

Tuning #1 – namespace/web.config

Es gibt drei Parameter bezüglich maximal gleichzeitiger Anrufe, gleichzeitiger Sitzungen und gleichzeitiger Instanzen.

<serviceThrottling
    maxConcurrentCalls="100"
    maxConcurrentSessions="100"
    maxConcurrentInstances="1000" />

Dies ist in der Datei <CENTRESTACKInstallDir>namespaceweb.config festgelegt

Es können bereits Blöcke von serviceBehaviors und Verhaltensblöcke vorhanden sein. Sie können einfach den Block serviceThrottling hinzufügen.

<serviceBehaviors>
    <behavior name="WcfWebService.Service1Behavior">
        <serviceThrottling
            maxConcurrentCalls="100"
            maxConcurrentSessions="100"
            maxConcurrentInstances="1000" />
    </behavior>
</serviceBehaviors>

Tuning #2 – aspnet.config

Die aspnet.config befindet sich unter c:windowsMicrosoft.NETFramework64v4.0.30319

system.web ist ein Element von <configuration>, sodass Sie es innerhalb des <configuration>-Blocks hinzufügen können.

<system.web>
    <applicationPool
        maxConcurrentRequestsPerCPU="5000"
        requestQueueLimit="20000"/>
</system.web>

Tuning #3 – machine.config

Machine.config befindet sich unter %windir%Microsoft.NETFramework64[version]configmachine.config

(%windir% ist typischerweise c:windows. [version] ist 4.0.30319 für das .NET Framework 4)

Prozessmodell

processModel befindet sich unter <system.web> und <system.web> ist unter <configuration>. Wahrscheinlich ist der processModel-Block bereits vorhanden, aber mit autoConfig auf true gesetzt. Wir können dies ändern, indem wir es auf false setzen und mit den unten angegebenen Attributen.

<processModel
    autoConfig="false"
    maxWorkerThreads="500"
    maxIoThreads="500"
    minWorkerThreads="2"/>

Verbindungsmanagement

<system.net> ist ein Block unterhalb von <configuration>. Typischerweise, wenn <system.net> noch nicht existiert, kann der Block am Ende der Konfigurationsdatei hinzugefügt werden, direkt vor dem schließenden Tag von <configuration>.

<system.net>
    <connectionManagement>
        <add address="*" maxconnection="20000"/>
    </connectionManagement>
</system.net>

Tuning #4 – appConcurrentRequestLimit

appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:50000

Benötigen Sie mehr Informationen?

Kontaktieren Sie den Gladinet Support (support@gladinet.com) für weitere Informationen.