Avancerade ämnen

Dessa avancerade ämnen kräver ändringar i web.config-filen som är avgörande för CentreStacks smidiga funktion, därför rekommenderas det inte att du ändrar web.config-filen utan att först rådgöra med Gladinet support.

Dela upp databas

Databasen innehåller två typer av information.

Den första typen av information är konfigurationsdata som är relativt statisk. Till exempel användarnamn, användarens e-post, användarens publicerade delade filer och mappar etc. Denna typ av information är relativt liten. Den kan uppskattas till 5000 byte per användare. Så om du har 2000 användare kan det uppskattas till 10 MB.

Den andra typen av information är relativt mer flyktig. Till exempel filändringsloggen, revisionsspåret och filförteckningen för indexering. Det kan uppskattas till 100 filändringar per användare och dag och varje filändring kan uppskattas till 1000 byte för databaslagring. Så för en 15 dagars period (standardhistorik för ändringslogg), kan det uppskattas till 100*1000*15 = 1,5 MB per användare för en 15-dagarsperiod. Om du behöver HIPPA-efterlevnad kan standardhistoriken för ändringslogg vara avsevärt längre så den här delen av databasen kommer att vara mycket större.

Av prestanda- och regleringsskäl rekommenderas det att dela upp databasen i två separata databaser, en som innehåller statisk information och en som innehåller relativt mer flyktig information.

Den sekundära databasen (för mer flyktiga data) kan vara antingen MySQL-databas eller Microsoft SQL-databas.

För att dela upp databasen, börja med att skapa en ny databas som kommer att användas för att lagra den flyktiga informationen. Skapa en databasanvändare och ge denna användare fullständig åtkomst till databasen (motsvarande db_owner). När databasen och användaren är skapade, logga in på CentreStacks administrationskonsol som klusteradministratör och navigera till Klusterinstrumentpanel > Klusterinställningar > Ändringslogg. Uppdatera inställningen för ”Logging DB Connection String” med en lämplig anslutningssträng:

_images/image063-03192025.png

Exempel på anslutningssträng för MySQL-databas

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

Exempel på anslutningssträng för Microsoft SQL-databas

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

Ändra autentiseringsalgoritm till version 2

Om du har en ny installation av CentreStack utan någon äldre användare rekommenderar vi att du hårdkodar autentiseringsalgoritmen till version 2.

Du kan hitta web.config-filen i rotmappen för installationskatalogen (samma web.config-fil som refererades i föregående avsnitt) och lägga till en rad inuti <appSettings file=”branding.config”>-sektionen.

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

Ändra den synkroniserade uppladdaren till asynkron uppladdare

Under mappen C:Program Files (x86)CentreStack(eller installationskatalogen), leta efter UploadDownloadProxy och identifiera web.config-filen. Hitta raden med SyncedStorageProxiedPutUploadHandler och ändra den till StorageProxiedPutUploadHandler.

Denna optimering kanske inte fungerar på alla system, därför rekommenderas att du testar webbportalens Dra och släpp-uppladdning efter att du har gjort ändringen. Om det inte fungerar för din IIS kan du ångra ändringen eller kontakta Gladinet support.

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

Zonstöd

Om du har två oberoende CentreStack-kluster, till exempel ett kluster i USA och ett kluster i Storbritannien, kan du använda zonstödet för att koppla samman de två klustren. Fördelen med att använda zoner är att slutanvändarens inloggningsförfrågan automatiskt kommer att omdirigeras till den zon användaren tillhör.

Skalbarhetsjustering

CentreStack är byggt ovanpå ASP.NET och WCF. Som standard har både ASP.NET och WCF styrparametrar för begränsning som vi kan justera och ta bort. Vänligen se denna MSDN-artikel för prestandajustering:

http://msdn.microsoft.com/sv-se/library/ff647813.aspx

_images/image053.jpg

(bildkälla: http://msdn.microsoft.com/en-us/library/ff647813.aspx)

_images/image054.jpg

(bildkälla: http://msdn.microsoft.com/en-us/library/ff647813.aspx)

Optimering #1 – namespace/web.config

Det finns tre parametrar som rör maximalt antal samtidiga samtal, samtidiga sessioner och samtidiga instanser.

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

Detta ställs in i <CENTRESTACKInstallDir>namespaceweb.config-filen

Det kan redan finnas befintliga block av serviceBehaviors och beteendeblock där. Du kan helt enkelt lägga till blocket för serviceThrottling.

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

Trimning #2 – aspnet.config

aspnet.config ligger under c:windowsMicrosoft.NETFramework64v4.0.30319

system.web är ett element i <configuration> så du kan lägga till det inuti <configuration>-blocket.

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

Trimning #3 – machine.config

Machine.config finns i %windir%Microsoft.NETFramework64[version]configmachine.config

(%windir% är vanligtvis c:windows. [version] är 4.0.30319 för .NET framework 4)

processmodell

processModel finns under <system.web> och <system.web> är under <configuration>. Det är troligt att processModel-blocket redan finns men med autoConfig inställt på true. Vi kan ändra det till att vara inställt på false och med attributen inställda nedan.

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

anslutningshantering

<system.net> är ett block under <configuration>. Vanligtvis om <system.net> inte redan finns kan blocket läggas till längst ner i konfigurationsfilen, precis innan avslutande taggen för <configuration>.

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

Tuning #4 – appConcurrentRequestLimit

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

Behöver du mer information?

Kontakta Gladinet Support (support@gladinet.com) för mer information.