Argomenti Avanzati

Questi argomenti avanzati richiedono modifiche al file web.config che è fondamentale per il corretto funzionamento di CentreStack, pertanto, si sconsiglia di modificare il file web.config senza prima consultare il supporto Gladinet.

Dividi Database

Il database contiene due tipi di informazioni.

Il primo tipo di informazioni sono i dati di configurazione che sono relativamente statici. Ad esempio, il nome utente, l’email dell’utente, i file condivisi pubblicati dall’utente e la cartella ecc. Questo tipo di informazioni è relativamente piccolo. Può essere stimato in 5000 byte per utente. Quindi, se avete 2000 utenti, può essere stimato in 10 MB.

Il secondo tipo di informazione è relativamente più volatile. Ad esempio, il registro delle modifiche dei file, la traccia di audit e l’elenco dei file per l’indice. Si può stimare 100 cambiamenti di file per utente al giorno e ogni cambiamento di file può essere stimato in 1000 byte per l’archiviazione nel database. Quindi, per un periodo di 15 giorni (storia predefinita del registro delle modifiche), si può stimare 100*1000*15 = 1,5MB per utente per un periodo di 15 giorni. Se è necessaria la conformità HIPPA, la storia predefinita del registro delle modifiche può essere significativamente più lunga quindi questa parte del database sarà molto più grande.

Per motivi di prestazioni e regolamentari, si raccomanda di suddividere il database in due database separati, uno che contiene informazioni statiche e uno che contiene informazioni relativamente più volatili.

Il database secondario (per dati più volatili) può essere sia un database MySQL che un database Microsoft SQL.

Per dividere il database, prima creare un nuovo database che verrà utilizzato per memorizzare le informazioni volatili. Creare un utente del database e consentire a questo utente il pieno accesso al database (equivalente a db_owner). Una volta creati il database e l’utente, accedere alla console di gestione di CentreStack come amministratore del cluster e navigare in Dashboard del Cluster > Impostazioni del Cluster > Registro Modifiche. Aggiornare l’impostazione «Stringa di connessione DB di Log» utilizzando una stringa di connessione appropriata:

_images/image063-03192025.png

Esempio di stringa di connessione per il database MySQL

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

Esempio di stringa di connessione per il database Microsoft SQL

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

Cambia l’Algoritmo di Autenticazione alla Versione 2

Se hai una nuova installazione di CentreStack senza alcun utente legacy, ti consigliamo di codificare in modo fisso l’algoritmo di autenticazione alla versione 2.

È possibile trovare il file web.config nella cartella principale della directory di installazione (stesso file web.config menzionato nella sezione precedente) e aggiungere una riga all’interno della sezione <appSettings file=»branding.config»>.

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

Cambia l’Uploader Sincronizzato in Uploader Asincronizzato

Sotto C:Program Files (x86)CentreStack(o la directory di installazione), cerca UploadDownloadProxy e identifica il file web.config. Trova la riga con SyncedStorageProxiedPutUploadHandler e cambiala in StorageProxiedPutUploadHandler.

Questa ottimizzazione potrebbe non funzionare su tutti i sistemi, pertanto, si raccomanda di testare il caricamento tramite trascinamento nel portale web dopo aver effettuato la modifica. Se non dovesse funzionare per il vostro IIS, potete annullare la modifica o consultare il supporto Gladinet.

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

Supporto Zona

Se avete due cluster CentreStack indipendenti, ad esempio un cluster negli Stati Uniti e uno nel Regno Unito, potete utilizzare il supporto delle zone per collegare i due cluster insieme. Il vantaggio dell’utilizzo delle zone è che la richiesta di accesso dell’utente finale verrà automaticamente reindirizzata alla zona di appartenenza dell’utente.

Ottimizzazione della Scalabilità

CentreStack è costruito su ASP.NET e WCF. Per impostazione predefinita, sia ASP.NET che WCF hanno parametri di controllo del throttling che possiamo regolare e rimuovere. Si prega di fare riferimento a questo articolo MSDN per il tuning delle prestazioni:

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

_images/image053.jpg

(fonte dell’immagine: http://msdn.microsoft.com/en-us/library/ff647813.aspx)

_images/image054.jpg

(fonte dell’immagine: http://msdn.microsoft.com/en-us/library/ff647813.aspx)

Ottimizzazione #1 – namespace/web.config

Ci sono tre parametri riguardanti il massimo di chiamate contemporanee, sessioni contemporanee e istanze contemporanee.

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

Questo è impostato nel file <CENTRESTACKInstallDir>namespaceweb.config

Potrebbero esserci blocchi esistenti di serviceBehaviors e blocchi di comportamento. Puoi semplicemente aggiungere il blocco serviceThrottling.

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

Ottimizzazione #2 – aspnet.config

Il file aspnet.config si trova in c:windowsMicrosoft.NETFramework64v4.0.30319

system.web è un elemento di <configuration> quindi puoi aggiungerlo all’interno del blocco <configuration>.

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

Ottimizzazione #3 – machine.config

Machine.config si trova in %windir%Microsoft.NETFramework64[versione]configmachine.config

(%windir% è tipicamente c:windows. [version] è 4.0.30319 per il framework .NET 4)

modelloDiProcesso

processModel si trova sotto <system.web> e <system.web> si trova sotto <configuration>. Molto probabilmente il blocco processModel è già presente ma con autoConfig impostato su true. Possiamo cambiarlo impostando su false e con gli attributi impostati di seguito.

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

gestioneDellaConnessione

<system.net> è un blocco sotto <configuration>. Tipicamente se <system.net> non esiste già, il blocco può essere aggiunto in fondo al file di configurazione, proprio prima del tag di chiusura di <configuration>.

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

Ottimizzazione #4 – appConcurrentRequestLimit

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

Hai bisogno di più informazioni?

Contatta il supporto Gladinet (support@gladinet.com) per maggiori informazioni.