Gerenciamento de Multi-servidores
Poderá chegar um momento em que você precise de gerenciar várias instalações do Joomla, que estão localizadas em vários servidores. O meu chegou e estou procurando passar a experiência para vocês enquanto testo e documento nosso projeto de intranet, extranet e internet. No nosso caso, estamos com uma única instalação de Joomla! acessando bancos diferentes.
Embora, o Joomla não tenha uma forma nativa para gerenciar estes vários sites de uma única interface administrativa, você precisa instalar uma extensão, existem algumas soluções para gestão de aspectos particulares dos servidores. Por exemplo, o MySQL inclui um utilitário que permite gerenciar várias instâncias de servidores de banco de dados, fornecendo assim acesso a vários bancos de dados Joomla.
Gerenciamento de uma Instância do MySQL
O Gerenciador de Instância MySQL é um utilitário da linha de comando disponível para ambos sistema operacionais baseados em UNIX e Windows. Ele informa o status de qualquer instância do servidor. Permite que todos os servidores, de forma individual ou coletiva, possam ser iniciados, parados ou reiniciados. Através do utilitário, você pode designar um servidor como protegido que vai fazer o Gerenciador de Instância monitorar o servidor e reiniciá-lo automaticamente, se for detectado um defeito.
Todos os casos selecionados podem ser configurados através do Gestor de configuração unificado. Além disso, o gestor de instância, pode controlar remotamente as instâncias, portanto, como o gestor precisa estar em execução no servidor que hospeda o banco de dados, ele pode ser acessado remotamente.
Alta performance do MySQL
Caso o projeto seja desenvolvido para milhões de acesso e em servidor próprio da Instituição poderá ser montado um "cluster" no MySQL permitindo alta disponibilidade e tolerância a falhas. Com servidores MySQL sendo executados em cluster os dados serão automaticamente replicados entre os servidores MySQL e cada ponto do cluster. Os pontos podem ser removidos sem afetar a disponibilidade da aplicação. A implementação de cluster é nativa do MySQL sem necessidade de instalação de outros programas. Basta seguir os passos do artigo publicado em: http://dev.mysql.com/tech-resources/articles/mysql-cluster-for-two-servers.html
PhpMyAdmin
Se você estiver executando o phpMyAdmin, ele pode configurado para atender múltiplos servidores MySQL. A gestão é tão simples quanto definindo a $cfg[‘Servers’] array para conter a informação de login para todos os servidores a serem gerenciados, onde cada entrada de $cfg[‘Servers’][$i][‘host’] contém o nome do host de cada servidor.
Teste de carga
Para testar o desempenho de uma configuração de servidor Web, é uma boa ideia fazer testes de carga antes da implementação. O teste de carga é o processo de colocar uma carga artificial no servidor Web (como centenas, milhares ou milhões de solicitações de páginas simultâneas para simular grande número de acesso) e monitoramento da resposta. É particularmente útil colocar uma carga muito além dos padrões de uso normal para submeter todo o sistema a um alto grau de estresse e desta forma verificar se realmente está tudo ok e não haverá quebra em algum ponto.
O teste de carga é possível através do aplicativo open source "Dieseltest" que faz o teste de carga simulando usuários que fazem requisições ao seu ao servidor.
(figura 1 - Dieseltest)
Ele pode simular vários tipos de usuários, bem como centenas ou milhares de usuários simultâneos em um site. Ele também pode gravar scripts e reproduzi-los, mostrando os resultados em tempo real. Um avaliador de registro é incluído para gerar estatísticas de resultados para análise posterior.
Dieseltest está disponível para download aqui: http://sourceforge.net/projects/dieseltest
Você pode fazer testes de carga em suas aplicações MySQL e Joomla com DB Monster, que é encontrado aqui: http://sourceforge.net/projects/dbmonster
DB Monster gera dados de teste aleatório para a inserção em um banco de dados SQL. Depois que os dados foram inseridos, você pode usar ferramentas de consulta de avaliação para determinar o quanto sua consulta é otimizada para lidar com uma grande quantidade de dados.
Para testar a configuração do MySQL e desempenho do servidor de banco de dados em geral, você pode usar uma suite de teste, open source, que você pode baixar aqui: http://ltp.sourceforge.net/
Cada um desses aplicativos permitem que você crie um perfil de carga onde você pode determinar as operações que serão disparadas contra o servidor para o teste e lembre-se: criar um perfil de carga efetiva é uma arte, uma ciência.
Steve Splaine escreveu um excelente artigo chamado "Modelagem e Teste de Carga de Websites para o mundo real" (www.stickyminds.com/s.asp?F=S3116_ART_2) que introduz as considerações básicas de concepção de um perfil de eficácia.
Artigo traduzido e adaptado por Júlio Coutinho. O texto original, está publicado no capítulo 11 do livro Professional Joomla - Programador para Programador, de Dan Rahmel.










