Temas Avanzados

Estos temas avanzados requieren cambios en el archivo web.config, el cual es crítico para el funcionamiento óptimo de CentreStack, por lo tanto, no se recomienda que cambie el archivo web.config sin antes consultar al soporte de Gladinet.

División de Base de Datos

La base de datos contiene dos tipos de información.

El primer tipo de información es la data de configuración que es relativamente estática. Por ejemplo, el nombre de usuario, el correo electrónico del usuario, los archivos compartidos publicados del usuario y la carpeta, etc. Este tipo de información es relativamente pequeña. Se puede estimar en 5000 bytes por usuario. Así que si tienes 2000 usuarios, se puede estimar en 10 MB.

El segundo tipo de información es relativamente más volátil. Por ejemplo, el registro de cambios de archivos, el rastro de auditoría y la lista de archivos para indexación. Se puede estimar en 100 cambios de archivos por usuario por día y cada cambio de archivo se puede estimar en 1000 bytes para almacenamiento en base de datos. Entonces, para un período de 15 días (historial de cambios por defecto), se puede estimar en 100*1000*15 = 1.5MB por usuario para un período de 15 días. Si necesita cumplimiento con HIPPA, el historial de cambios por defecto puede ser significativamente más largo, por lo que esta parte de la base de datos será mucho mayor.

Por motivos de rendimiento y regulación, se recomienda dividir la base de datos en dos bases de datos separadas, una que contenga información estática y otra que contenga información relativamente más volátil.

La base de datos secundaria (para datos más volátiles) puede ser tanto MySQL Database como Micrsoft SQL Database.

Para dividir la base de datos, primero cree una nueva base de datos que se utilizará para almacenar la información volátil. Cree un usuario de la base de datos y permita que este usuario tenga acceso completo a la base de datos (equivalente a db_owner). Una vez creada la base de datos y el usuario, inicie sesión en la consola de administración de CentreStack como administrador del clúster y navegue a Panel de control del clúster > Configuración del clúster > Registro de cambios. Actualice la configuración de «Cadena de conexión de la base de datos de registro» utilizando una cadena de conexión apropiada:

_images/image063-03192025.png

Ejemplo de Cadena de Conexión para la Base de Datos MySQL

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

Ejemplo de Cadena de Conexión para Base de Datos Microsoft SQL

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

Cambiar el Algoritmo de Autenticación a la Versión 2

Si tiene una nueva instalación de CentreStack sin ningún usuario heredado, le recomendamos que programe de forma fija el algoritmo de autenticación en la versión 2.

Puede localizar el archivo web.config en la carpeta raíz del directorio de instalación (el mismo archivo web.config al que se hace referencia en la sección anterior) y agregar una línea dentro de la sección <appSettings file=»branding.config»>.

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

Cambiar el Cargador Sincronizado por un Cargador Asincrónico

Bajo el directorio C:Program Files (x86)CentreStack(o el directorio de instalación), busque en UploadDownloadProxy e identifique el archivo web.config. Encuentre la línea con SyncedStorageProxiedPutUploadHandler y cámbiela a StorageProxiedPutUploadHandler.

Es posible que esta optimización no funcione en todos los sistemas, por lo tanto, se recomienda que pruebe la carga de arrastrar y soltar en el portal web después de realizar el cambio. Si no funciona para su IIS, puede deshacer el cambio o consultar al soporte de Gladinet.

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

Soporte de Zona

Si tiene dos clústeres independientes de CentreStack, por ejemplo, un clúster en EE. UU. y otro en el Reino Unido, puede utilizar el soporte de zonas para conectar los dos clústeres. La ventaja de usar zonas es que la solicitud de inicio de sesión del usuario final se redirigirá automáticamente a la zona a la que pertenece el usuario.

Ajuste de Escalabilidad

CentreStack está construido sobre ASP.NET y WCF. Por defecto, tanto ASP.NET como WCF tienen parámetros de control de estrangulamiento que podemos ajustar y eliminar. Por favor, consulte este artículo de MSDN para la optimización del rendimiento:

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

_images/image053.jpg

(fuente de la imagen: http://msdn.microsoft.com/en-us/library/ff647813.aspx)

_images/image054.jpg

(fuente de la imagen: http://msdn.microsoft.com/en-us/library/ff647813.aspx)

Ajuste #1 – namespace/web.config

Hay tres parámetros sobre llamadas concurrentes máximas, sesiones concurrentes e instancias concurrentes.

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

Esto se configura en el archivo <CENTRESTACKInstallDir>namespaceweb.config

Puede que ya existan bloques de serviceBehaviors y bloques de behavior. Simplemente puedes añadir el bloque de serviceThrottling.

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

Ajuste #2 – aspnet.config

El aspnet.config se encuentra en c:windowsMicrosoft.NETFramework64v4.0.30319

system.web es un elemento de <configuration>, por lo que puedes agregarlo dentro del bloque <configuration>.

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

Ajuste #3 – machine.config

Machine.config se encuentra en %windir%Microsoft.NETFramework64[versión]configmachine.config

(%windir% normalmente es c:windows. [version] es 4.0.30319 para el marco de .NET 4)

modeloDeProceso

processModel está bajo <system.web> y <system.web> está bajo <configuration>. Lo más probable es que el bloque processModel ya esté allí pero con autoConfig establecido en true. Podemos cambiarlo para establecerlo en false y con los atributos establecidos a continuación.

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

gestión de conexiones

<system.net> es un bloque debajo de <configuration>. Típicamente, si <system.net> no existe, el bloque puede ser añadido al final del archivo de configuración, justo antes de la etiqueta de cierre de <configuration>.

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

Ajuste #4 – appConcurrentRequestLimit

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

¿Necesita más información?

Contacte con el soporte de Gladinet (support@gladinet.com) para obtener más información.