Sujets Avancés

Ces sujets avancés nécessitent des modifications du fichier web.config qui est essentiel pour le fonctionnement fluide de CentreStack, par conséquent, il n’est pas recommandé de modifier le fichier web.config sans avoir d’abord consulté le support Gladinet.

Fractionner la base de données

La base de données contient deux types d’informations.

Le premier type d’informations est les données de configuration qui sont relativement statiques. Par exemple, le nom d’utilisateur, l’email de l’utilisateur, les fichiers partagés publiés de l’utilisateur et les dossiers, etc. Ce type d’informations est relativement petit. Il peut être estimé à 5000 octets par utilisateur. Donc, si vous avez 2000 utilisateurs, cela peut être estimé à 10 Mo.

Le deuxième type d’information est relativement plus volatile. Par exemple, le journal des modifications de fichiers, la trace d’audit et la liste des fichiers pour l’indexation. On peut estimer à 100 changements de fichiers par utilisateur par jour et chaque changement de fichier peut être estimé à 1000 octets pour le stockage en base de données. Ainsi, pour une période de 15 jours (historique des changements par défaut), on peut estimer à 100*1000*15 = 1,5 Mo par utilisateur pour une période de 15 jours. Si vous avez besoin de conformité HIPPA, l’historique des changements par défaut peut être significativement plus long, donc cette partie de la base de données sera beaucoup plus grande.

Pour des raisons de performance et de réglementation, il est recommandé de séparer la base de données en deux bases distinctes, l’une contenant les informations statiques et l’autre contenant les informations relativement plus volatiles.

La base de données secondaire (pour les données plus volatiles) peut être soit une base de données MySQL soit une base de données SQL Microsoft.

Pour diviser la base de données, commencez par créer une nouvelle base de données qui sera utilisée pour stocker les informations volatiles. Créez un utilisateur de base de données et permettez à cet utilisateur un accès complet à la base de données (équivalent à db_owner). Une fois la base de données et l’utilisateur créés, connectez-vous à la console de gestion CentreStack en tant qu’administrateur du cluster et naviguez vers Tableau de bord du cluster > Paramètres du cluster > Journal des modifications. Mettez à jour le paramètre « Chaîne de connexion de la base de données de journalisation » en utilisant une chaîne de connexion appropriée :

_images/image063-03192025.png

Exemple de chaîne de connexion pour la base de données MySQL

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

Exemple de chaîne de connexion pour la base de données Microsoft SQL

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

Changer l’algorithme d’authentification pour la version 2

Si vous avez une nouvelle installation de CentreStack sans aucun utilisateur existant, nous vous recommandons de coder en dur l’algorithme d’authentification à la version 2.

Vous pouvez localiser le fichier web.config dans le dossier racine du répertoire d’installation (le même fichier web.config que celui mentionné dans la section précédente) et ajouter une ligne à l’intérieur de la section <appSettings file= »branding.config »>.

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

Changer l’Uploader Synchronisé en Uploader Asynchronisé

Sous C:Program Files (x86)CentreStack(ou le répertoire d’installation), consultez le UploadDownloadProxy et identifiez le fichier web.config. Trouvez la ligne avec le SyncedStorageProxiedPutUploadHandler et changez-la en StorageProxiedPutUploadHandler.

Cette optimisation peut ne pas fonctionner sur tous les systèmes, par conséquent, il est recommandé de tester le téléversement par glisser-déposer du portail web après avoir effectué la modification. Si cela ne fonctionne pas pour votre IIS, vous pouvez annuler la modification ou consulter le support Gladinet.

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

Support de zone

Si vous disposez de deux clusters CentreStack indépendants, par exemple, un cluster aux États-Unis et un autre au Royaume-Uni, vous pouvez utiliser le support de zones pour connecter les deux clusters ensemble. L’avantage de l’utilisation des zones est que la demande de connexion de l’utilisateur final sera automatiquement redirigée vers la zone à laquelle l’utilisateur appartient.

Ajustement de l’évolutivité

CentreStack est construit sur la base de ASP.NET et WCF. Par défaut, ASP.NET et WCF disposent de paramètres de contrôle de la limitation que nous pouvons régler et supprimer. Veuillez consulter cet article MSDN pour l’optimisation des performances :

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

_images/image053.jpg

(source de l’image : http://msdn.microsoft.com/fr-fr/library/ff647813.aspx)

_images/image054.jpg

(source de l’image : http://msdn.microsoft.com/fr-fr/library/ff647813.aspx)

Réglage #1 – namespace/web.config

Il y a trois paramètres concernant les appels simultanés maximaux, les sessions simultanées et les instances simultanées.

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

Ceci est défini dans le fichier <CENTRESTACKInstallDir>namespaceweb.config

Il peut y avoir des blocs existants de serviceBehaviors et des blocs de comportement. Vous pouvez simplement ajouter le bloc serviceThrottling.

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

Réglage #2 – aspnet.config

Le fichier aspnet.config se trouve sous c:windowsMicrosoft.NETFramework64v4.0.30319

system.web est un élément de <configuration>, vous pouvez donc l’ajouter à l’intérieur du bloc <configuration>.

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

Réglage #3 – machine.config

Machine.config se trouve à %windir%Microsoft.NETFramework64[version]configmachine.config

(%windir% est généralement c:windows. [version] est 4.0.30319 pour le framework .NET 4)

modèle de processus

processModel se trouve sous <system.web> et <system.web> est sous <configuration>. Il est très probable que le bloc processModel soit déjà présent mais configuré sur autoConfig à true. Nous pouvons le modifier pour le mettre sur false et avec les attributs définis ci-dessous.

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

gestionDesConnexions

<system.net> est un bloc situé sous <configuration>. Généralement, si <system.net> n’existe pas déjà, le bloc peut être ajouté au bas du fichier de configuration, juste avant la balise de fermeture de <configuration>.

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

Réglage #4 – appConcurrentRequestLimit

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

Besoin de plus d’informations ?

Contactez le support Gladinet (support@gladinet.com) pour plus d’informations.