Tópicos Avançados¶
Estes tópicos avançados requerem alterações no arquivo web.config, que é crítico para o funcionamento suave do CentreStack, portanto, não é recomendado que você altere o arquivo web.config sem antes consultar o suporte da Gladinet.
Divisão de Base de Dados¶
A base de dados contém dois tipos de informação.
O primeiro tipo de informação é o dado de configuração que é relativamente estático. Por exemplo, nome do usuário, e-mail do usuário, arquivos compartilhados publicados pelo usuário e pastas etc. Esse tipo de informação é relativamente pequeno. Pode ser estimado em 5000 bytes por usuário. Então, se você tem 2000 usuários, pode ser estimado em 10 MB.
O segundo tipo de informação é relativamente mais volátil. Por exemplo, o registro de alterações de arquivo, o rastro de auditoria e a lista de arquivos para indexação. Pode-se estimar em 100 alterações de arquivo por usuário por dia e cada alteração de arquivo pode ser estimada em 1000 bytes para armazenamento em banco de dados. Então, para um período de 15 dias (histórico de registro de alterações padrão), pode-se estimar em 100*1000*15 = 1,5MB por usuário para o período de 15 dias. Se você precisar de conformidade com HIPPA, o histórico de registro de alterações padrão pode ser significativamente mais longo, portanto essa parte do banco de dados será muito maior.
Por motivos de desempenho e regulamentação, recomenda-se dividir o banco de dados em dois bancos de dados separados, um que contenha informações estáticas e outro que contenha informações relativamente mais voláteis.
A base de dados secundária (para dados mais voláteis) pode ser tanto a Base de Dados MySQL quanto a Base de Dados Microsoft SQL.
Para dividir o banco de dados, primeiro crie um novo banco de dados que será usado para armazenar as informações voláteis. Crie um usuário do banco de dados e permita que esse usuário tenha acesso total ao banco de dados (equivalente a db_owner). Uma vez que o banco de dados e o usuário estejam criados, entre no console de gerenciamento do CentreStack como administrador do cluster e navegue até Painel do Cluster > Configurações do Cluster > Log de Alterações. Atualize a configuração «String de Conexão do BD de Log» usando uma string de conexão apropriada:

Exemplo de String de Conexão para Banco de Dados MySQL
Server=localhost;Port=3306;Database=gladinet;Uid=root;Pwd=password;
Exemplo de String de Conexão para Banco de Dados Microsoft SQL
Data Source=server_name;Initial Catalog=logging_db_name;User Id=user_id;Password=user_password;
Alterar Algoritmo de Autenticação para Versão 2¶
Se você tem uma nova instalação do CentreStack sem nenhum usuário legado, recomendamos que você programe de forma fixa o algoritmo de autenticação para a versão 2.
Você pode localizar o arquivo web.config na pasta raiz do diretório de instalação (o mesmo arquivo web.config mencionado na seção anterior) e adicionar uma linha dentro da seção <appSettings file=»branding.config»>.
<add key="sys_access_ver" value="2" />
Alterar o Uploader Sincronizado para Uploader Assíncrono¶
Sob o diretório C:Program Files (x86)CentreStack(ou o diretório de instalação), procure pelo UploadDownloadProxy e identifique o arquivo web.config. Encontre a linha com o SyncedStorageProxiedPutUploadHandler e altere para StorageProxiedPutUploadHandler.
Esta otimização pode não funcionar em todos os sistemas, portanto, é recomendável que você teste o upload de arrastar e soltar do portal web após fazer a alteração. Se não funcionar para o seu IIS, você pode desfazer a alteração ou consultar o suporte da Gladinet.
<add name="storageuploadex" path="proxiedupload.up" verb="PUT"
type="GladinetStorage.SyncedStorageProxiedPutUploadHandler"
resourceType="Unspecified" preCondition="integratedMode" />
Suporte de Zona¶
Se você tem dois clusters independentes do CentreStack, por exemplo, um cluster nos EUA e outro no Reino Unido, você pode usar o suporte a zonas para conectar os dois clusters. A vantagem de usar zonas é que a solicitação de login do usuário final será automaticamente redirecionada para a zona à qual o usuário pertence.
Ajuste de Escalabilidade¶
O CentreStack é construído em cima do ASP.NET e do WCF. Por padrão, tanto o ASP.NET quanto o WCF possuem parâmetros de controle de limitação que podemos ajustar e remover. Por favor, consulte este artigo da MSDN para ajuste de desempenho:
http://msdn.microsoft.com/pt-br/library/ff647813.aspx

(fonte da imagem: http://msdn.microsoft.com/en-us/library/ff647813.aspx)

(fonte da imagem: http://msdn.microsoft.com/en-us/library/ff647813.aspx)
Ajuste #1 – namespace/web.config¶
Existem três parâmetros sobre chamadas máximas simultâneas, sessões simultâneas e instâncias simultâneas.
<serviceThrottling
maxConcurrentCalls="100"
maxConcurrentSessions="100"
maxConcurrentInstances="1000" />
Isto está definido no arquivo <CENTRESTACKInstallDir>namespaceweb.config
Podem já existir blocos de serviceBehaviors e blocos de behavior. Você pode simplesmente adicionar o bloco de serviceThrottling.
<serviceBehaviors>
<behavior name="WcfWebService.Service1Behavior">
<serviceThrottling
maxConcurrentCalls="100"
maxConcurrentSessions="100"
maxConcurrentInstances="1000" />
</behavior>
</serviceBehaviors>
Ajuste #2 – aspnet.config¶
O aspnet.config está localizado em c:windowsMicrosoft.NETFramework64v4.0.30319
system.web é um elemento de <configuration>, então você pode adicioná-lo dentro do bloco <configuration>.
<system.web>
<applicationPool
maxConcurrentRequestsPerCPU="5000"
requestQueueLimit="20000"/>
</system.web>
Ajuste #3 – machine.config¶
Machine.config está em %windir%Microsoft.NETFramework64[versão]configmachine.config
(%windir% geralmente é c:windows. [version] é 4.0.30319 para o framework .NET 4)
modeloDeProcesso
processModel está sob <system.web> e <system.web> está sob <configuration>. Provavelmente o bloco processModel já existe, mas com autoConfig definido como true. Podemos alterá-lo para definir como false e com os atributos definidos abaixo.
<processModel
autoConfig="false"
maxWorkerThreads="500"
maxIoThreads="500"
minWorkerThreads="2"/>
gerenciamentoDeConexão
<system.net> é um bloco abaixo de <configuration>. Normalmente, se <system.net> ainda não existe, o bloco pode ser adicionado ao final do arquivo de configuração, logo antes da tag de fechamento de <configuration>.
<system.net>
<connectionManagement>
<add address="*" maxconnection="20000"/>
</connectionManagement>
</system.net>
Ajuste #4 – appConcurrentRequestLimit¶
appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:50000
Precisa de Mais Informações?¶
Contacte o Suporte Gladinet (support@gladinet.com) para mais informações.