Módulos de Multiprocessamento em um servidor Web Calcula-se que Prefork é o melhor método para sistemas com CPU única e Worker para sistemas Multi-cpu. Dessa forma, você deve analisar antes de programar algum deles. Prefork é mais estável; Worker requer menos hardware. É uma situação em que vale efetuar alguns testes no ambiente para comprovar. Você pode utilizar o Apachebench (ab) para os testes ou outra ferramenta de Stresstest. Procure realizar os testes de forma distribuídas, cerca de 3 estações de trabalho já são suficientes para criar uma média. Se você estiver usando modulo do PHP pode ser que não funcione com o Worker. Será necessário verificar e estudar melhor as versões e configurações do ambiente para que o Apache + PHP + Worker funcionem juntos. Prefork e Worker
Configurando o Worker No arquivo httpd.conf <IfModule prefork.c> StartServers 10 MinSpareServers 10 MaxSpareServers 25 ServerLimit 350 MaxClients 350 MaxRequestsPerChild 5 </IfModule> Configurando o Prefork No arquivo httpd.conf <IfModule prefork.c> StartServers 10 MinSpareServers 10 MaxSpareServers 25 ServerLimit 350 MaxClients 350 MaxRequestsPerChild 5 </IfModule> StartServers: O número de processos que serão criados quando o Apache for iniciado. MinSpareServers: Número mínimo de processos que ficarão esperando por requisições. MaxSpareServers: Número máximo de processos que ficarão esperando por requisições. MaxClients: Número máximo de requisições atendidas simultâneamente. ServerLimit: Número mais alto que o MaxClients pode chegar. MaxRequestsPerChild: Quantas vezes um mesmo processo será reutilizado.este MPM é muito regular, por isso raramente é necessário ajustar as suas diretivas de configuração. O mais importante é que o MaxClients deve ser grande o suficiente para lidar com tantas solicitações simultâneas que você espera receber, mas pequeno o suficiente para garantir que não há memória RAM suficiente física para todos os processos.
Servidor Apache Identificação das diretivas mínimas necessárias para utilização do servidor apache a fim de disponibilizar o site de comércio eletrônico (utilizar arquivo de referência disponível no CentOS). As diretivas mínimas para utilização dos servidores ficam localizadas no arquivo de configuração httpd.conf, são elas: Diretiva Listen, DocumentRoot e DirectoryIndex. Detalhar das diretivas a serem configuradas no servidor apache As diretivas mínimas para utilização do servidor ficam localizadas no arquivo de configuração httpd.conf, são elas: Diretiva Listen, DocumentRoot e DirectoryIndex. *Diretiva Listen - localização da porta padrão do servidor 80, esta pode ser alterada para o número desejado, porém quando o cliente tentar acessar o servidor deve ser informado o número da nova porta. *Diretiva DocumentRoot - a raiz do documento é um diretório (pasta) que está armazenado em servidores de seu hospedeiro e que é designado para a localização de páginas da web. *Diretiva DirectoryIndex - define a lista de recursos que devem ser procurados pelo servidor, quando o cliente solicitar um índice do diretório especificando a / no final do nome do diretório. Como funciona No Apache um processo é geralmente definido como um exemplo de um programa que está a ser executado, incluindo todas as variáveis e outra informação que descreve o estado do programa. Cada processo é executado em seu espaço de endereço separado. Processos têm um ciclo de vida. Cada processo é uma entidade independente para que os recursos são alocados (por exemplo memória). Threads podem ser chamados de "unidades de execução". Um processo pode ser pensado como um fio, além de um espaço de endereçamento, descritores de arquivos, e um monte de outros dados. Um único processo pode ter várias threads, e os tópicos dentro de um processo compartilham o mesmo estado e no mesmo espaço de memória, e pode se comunicar uns com os outros diretamente, porque eles compartilham as mesmas variáveis.apache sempre tenta manter várias peças de processos do servidor ou inativo, que estão prontos para atender as solicitações recebidas. Desta forma, os clientes não precisam esperar por um novo processo filho a ser bifurcada diante de seus pedidos podem ser atendidos.
O StartServers, MinSpareServers, MaxSpareServers e MaxClients regulam a forma de como o processo pai cria filhos para atender as solicitações. Em essas diretivas de seus valores padrão. Sites que precisam atender a mais de 256 solicitações simultâneas pode precisar aumentar MaxClients, enquanto sites com memória limitada pode precisar diminuir MaxClients para manter o servidor de debulhar (troca de memória para o disco e volta). Mais informações sobre a criação do processo de ajuste é fornecida no desempenho dicas documentação. Enquanto o processo pai é geralmente iniciado como raiz no Unix, a fim de ligar a porta 80, os processos filhos são lançados pela Apache como um usuário menos privilegiado. O Usuário e Grupo diretivas são usadas para definir os privilégios dos processos filhos do Apache. Os processos de criança deve ser capaz de ler todo o conteúdo que vai ser servido, mas deve ter como poucos privilégios que vão além do possível. MaxRequestsPerChild controla a frequência do servidor recicla processos matando antigos e lançando novos. geral, o Apache é muito regular e para a maioria dos sites não precisa ajustar DADOS DO TESTE DE DESEMPENHO MODELO DE DESEMPENHO DE CONEXÃO Analise dos dados
Site utilizado como teste: bazar.projetointegrador.com.br 1º -.Tempo para o primeiro Byte: 1086 ms. Conexão Inicial: 0,223 ms. Start Offset: 0,72s. Content Download: 3ms. Bytes Baixados: 7,4 KB; 2º Tempo para o primeiro Byte: 267 ms. Start Offset: 1838.Content Download: 499 ms. Bytes Baixados: 43,5 KB; 6º Tempo para o primeiro Byte: 235 ms. Start Offset: 2,095s. Content Download: 48ms. Bytes Baixados: 7,3 KB;