Apache em Sites de Alto Tráfego: Aspectos Internos de Performance/Escalabilidade



Documentos relacionados
Apache Reliability: Mitigando os efeitos de memory leaks no httpd

Módulos de Multiprocessamento em um servidor Web

Nota de Aplicação. Migrando a base da dados do software ION-GER da maquina servidor. Suporte Técnico Brasil. Versão: 1.0

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

Windows para Servidores

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

Administração de Sistemas Operacionais Windows Server Professor Claudio Damasceno

Dell Infrastructure Consulting Services

Redes de Computadores Camada de Aplicação. Prof. MSc. Hugo Souza

Windows 2008 Server. Windows 2008 Server IFSP Boituva Prof. Sérgio Augusto Godoy.

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

BANCO DE DADOS CONTEÚDO INFORMÁTICA. Prof.: MARCIO HOLLWEG BANCO DE DADOS SGBD TABELA CONCEITOS BÁSICOS

Programação para Web Artefato 01. AT5 Conceitos da Internet

Entendendo como funciona o NAT

Faculdade de Tecnologia Senac Goiás. Goiânia, 28 de novembro de 2014.

CURSO EFA DE TÉCNICO DE INFORMÁTICA E SISTEMAS. Módulo 788- Administração de Servidores Web. Ano letivo Docente: Ana Batista

Linux - Servidor de Redes

Sistemas Distribuídos

Q-flow 2.2. Código de Manual: Qf22007POR Versão do Manual: 3.1 Última revisão: 21/10/2005 Aplica-se a: Q-flow 2.2. Sizing

Modelo para Documento de. Especificação de Requisitos de Software

Requisitos de Hardware e Software

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

CONHECIMENTOS ESPECÍFICOS TÉCNICO DE LABORATÓRIO / ÁREA INFORMÁTICA

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01. Prof. André Lucio

Infraestrutura Básica

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Curso básico em técnicas de Manutenção para activistas comunitários

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 3

Conceitos Básicos

Documentação Symom. Agente de Monitoração na Plataforma Windows

Alternativas para Governança de processos do Cadastro de Clientes e Fornecedores

Tecnologia WEB III. Prof. Erwin Alexander Uhlmann. PHP e MySQL. UHLMANN, Erwin Alexander. Introdução ao PHP. Instituto Siegen. Guarulhos, 2012.

CURSO PRÁTICO. Módulo 2 Pré-requisitos. Application Virtualization 5.0. Nível: Básico / Intermediário

Introdução. O Windows Server 2003 está dividido em quatro versões:

3. Faça uma breve descrição sobre a topologia da rede e o Active Directory-AD DISCIPLINA DE ARQUITETURA FECHADA WINDOWS SERVER

MODELO CLIENTE SERVIDOR

Práticas de Desenvolvimento de Software

Configurando o IIS no Server 2003

Esses recursos aplicados possibilitaram gerar soluções desktop e WEB para atividades de:

Integração entre o IBM HTTP SERVER, APACHE WEB Server e IBM Websphere Application Server

Winconnection 6. Internet Gateway

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04. Prof. André Lucio

1.1 Porque um nível de aplicação proxy?

DWEB. Design para Web. Fundamentos Web I. Curso Superior de Tecnologia em Design Gráfico

Windows NT 4.0. Centro de Computação

ServerAdmin - Se o sistema detectar algo de anômalo, um mail será enviado a bazar@projeointegador.

Curso de Aprendizado Industrial Desenvolvedor WEB

Requisitos de Hardware e Software

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

WINDOWS NT SERVER 4.0

Desempenho de Web Servers

Web. Até a década de 1990, a Internet era utilizada. por pesquisadores, acadêmicos e universitários, para troca de arquivos e para correio eletrônico.

SISTEMAS DE ARQUIVOS Sistemas operacionais

Disciplina de Banco de Dados Introdução

5/7/2010. Apresentação. Introdução. Ponto de vista do usuário. Curso Tecnologia em Telemática. Disciplina Administração de Sistemas Linux

Tuning Apache/MySQL/PHP para Desenvolvedores. By Douglas V. Pasqua Zend Certified Engineer / LPI / SCJP douglas.pasqua@gmail.com

FANESE Faculdade de Administração e Negócios de Sergipe

Redes de Computadores e a Internet

Gerenciamento de Redes de Computadores. Pfsense Introdução e Instalação

Configurando um servidor DHCP

Configurando o Balanceamento de Carga em Concentradores VPN 3000

Guia De Utilização Do Ambiente LMS

Padrão ix. Manual de Instalação do Q-Ware Server Versão

Prof.: MARCIO HOLLWEG

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER

TOPLAB VERSÃO WEB 3.0 Solução completa para o gerenciamento de laboratórios de análises clínicas Interface web

Uc-Redes Técnico em Informática André Luiz Silva de Moraes

O Impacto dos Aceleradores Expand no Consumo de Banda do Citrix Metraframe

SIMET Sistema de Medições de Tráfego IP. Fabrício Tamusiunas NIC.BR Milton Kaoru Kashiwakura NIC.BR

World Wide Web e Aplicações

1º Seminário de Software Livre Tchelinux Software Livre: leve adiante esta idéia. Soluções de Web Caching e Web Acceleration

Pré-Requisitos do Software Themis Pré-Requisitos do Software Themis

Pré-requisitos para Instalação Física e Lógica do SISLOC

Requisitos Mínimos para Navegar no Portal Progredir

Redes de Computadores Aula 3

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Manual de Instalação do OASIS

Uma poderosa ferramenta de monitoramento. Madson Santos - madson@pop-pi.rnp.br Técnico de Operação e Manutenção do PoP-PI/RNP

Administração e Desenvolvimento de Soluções em TI

PROJETO NOVAS FRONTEIRAS. Descrição dos processos de gerenciamento da qualidade

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Curso Firewall. Sobre o Curso de Firewall. Conteúdo do Curso

Servidores Identica A performance ao extremo agora disponível no Brasil

Senha Admin. Nessa tela, você poderá trocar a senha do administrador para obter acesso ao NSControl. Inicialização

Modelo para Documento de. Especificação de Requisitos de Software

Aula 2 Servidor DHCP. 2.1 dhcp

SolarWinds Kiwi Syslog Server

Ferramentas desenvolvidas internamente não atendem às necessidades de crescimento, pois precisam estar sendo permanentemente aperfeiçoadas;

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Desenvolvendo Websites com PHP

UFG - Instituto de Informática

Plataforma de vídeos UOLMais

Transcrição:

Apache em Sites de Alto Tráfego: Aspectos Internos de Performance/Escalabilidade Rivalino Matias Jr. PerformanceLab/UFSC - K4B Consulting Porto Alegre - Junho/2005

Apache em Sites de Alto Tráfego AGENDA Ecossistema Internet & Web; Desempenho do HTTP (1.0/1.1) O Apache Web Server Apache em sites de Alto Tráfego; Considerações Finais;

Introdução Internet & Web Em 1989 Tim Berners-Lee inventou a WWW, cujo propósito foi ter uma infra-estrutura padrão para o compartilhamento de informações; Desde então, a Web tem sido largamente usada para garantir independência de plataforma; Atualmente, a Web está no centro da infra-estrutura de TI das organizações; Um dos principais componentes desta infra-estrutura é o Web Server;

Ecossistema WEB Modelo de Comunicação: Client <-> Server; Cliente = Browser; Servidor = Web Server; As regras desta comunicação estão definidas no protocolo HTTP (L7); A formatação dos dados que trafegam entre Browser e Web Server é realizada pela linguagem HTML; Outros elementos já fazem parte deste Ecossistema (BD, AppServer, LB, outros).

Ecossistema Web Componentes / Arquiteturas (1) Usuários INFRAESTRUTURA 2-Tier Internet Link Web Server Dial-up, xdsl, FR,... HTTP

Ecossistema Web Componentes / Arquiteturas (2) Usuários INFRAESTRUTURA 2-Tier Internet Link Web Server Database Dial-up, xdsl, FR,... HTTP SQL

Ecossistema Web Componentes / Arquiteturas (3) Usuários INFRAESTRUTURA 3-Tier Internet Link Web Server App Server Database Dial-up, xdsl, FR,... HTTP SQL HTTP(S), (S)RMI, CORBA, outros

Ecossistema Web Componentes / Arquiteturas (4) Usuários INFRAESTRUTURA n-tier + HA Internet Link Dial-up, xdsl, FR,... Web Server Farm App Server Farm HTTP SQL HTTP(S), (S)RMI, CORBA, outros Database Farm

Performance na Web Entregar o conteúdo solicitado dentro de um tempo de resposta aceitável para a quantidade de clientes planejada; Aceitável => 15 seg. (Nielsen/Netratings); 12 seg. (Keynote Systems Inc.); A taxa de resposta (req/seg) é outra métrica interessante para avaliar o desempenho de servidores Web; Os objetivos do seu Web Site determinarão sua necessidade de performance/escalabilidade.

Performance na Web Tempo de resposta dos 10 maiores Web Sites de ecommerce do WSJ Rank WebSite Tempo de Resp. (seg.) 1 Eddie Bauer 9,26 2 Office Depot 10,07 3 Amazon 11,46 4 Wal Mart 14,64 5 Best Buy 14,96 6 JCPenny 15,21 7 Costco 15,80 8 Office Max 20,62 9 Target 23,27 10 Sears 23,45 Fonte: Keynote Systems performance indexes.

Performance na Web O que deve ser analisado? São diversos os fatores que influenciam na performance de um Web Site: Técnicos: Canal/Link de comunicação (bandwidth); Hardware (Processador, Memória, Discos, NIC,...) Software (SO, Web Server, CGI/SSI, BD, FW,... ) Conteúdo (Estático, Dinâmico, Imagens, Vídeo,...) Outros: Público-alvo, sazonalidade, foco do negócio, etc.

Performance com HTTP (1.0 / 1.1) A comunicação na Web é baseada no protocolo HTTP; Este segue um modelo client/server; Ambas as versões são baseadas no modelo client/server; Relacionado a performance, as principais melhorias introduzidas na versão 1.1 foram: Conexão Persistente; Pipelining.

Performance com HTTP (1.0 / 1.1) Sessão HTTP + TCP CLIENTE SYN (a) WEB SERVER SYN(b), ACK(SYN(a)) ACK(SYN (b)) Estabelecimento de Conexão TCP Sessão HTTP HTTP Request ACK (Req.) Response FIN(a) ACK ( Resp.+FIN(a) ) FIN(b) ACK(FIN(b)) Encerramento de Conexão TCP

Performance com HTTP (1.0 / 1.1) Acesso nas Versões 1.0 / 1.1 artigo.html Fig1.png Apache Web Server Sendo o mais popular Web Server da atualidade, o Apache httpd tem sido utilizado em diversas pesquisas científicas voltadas para a avaliação de performance em Web Servers. Neste sentido, este trabalho apresenta um estudo.. 12 M ain title 10 8 6 4 2 0 Co lumn 1 Co lumn 2 Co lumn 3 logo.jpg Row 1 Row 2 Row 3 Row 4

Performance com HTTP (1.0 / 1.1) Anatomia de uma sessão HTTP: ver. 1.0 c/ acesso serializado Browser TCP SYN HTTP GET TCP FIN artigo.html Web Server TCP SYN HTTP GET logo.jpg TCP FIN TCP SYN HTTP GET Fig1.png TCP FIN

Anatomia de uma sessão HTTP: ver. 1.0 c/ conexões paralelas Performance com HTTP (1.0 / 1.1) Browser TCP SYN Web Server HTTP GET TCP FIN artigo.html S S logo.jpg Fig1.png F F

Performance com HTTP (1.0 / 1.1) Anatomia de uma sessão HTTP: ver. 1.1 c/ conexão persistente e requisições serializadas Browser TCP SYN HTTP GET HTTP GET artigo.html logo.jpg Web Server HTTP GET Fig1.png TCP FIN

Performance com HTTP (1.0 / 1.1) Anatomia de uma sessão HTTP: ver. 1.1 c/ conexão persistente e pipelining Browser TCP SYN HTTP GET artigo.html Web Server HTTP GET ( logo.jpg ) HTTP GET ( fig1.gif ) logo.jpg Fig1.png TCP FIN

Performance com HTTP (1.0 / 1.1) Outros exemplos... RH 9, Mozilla 1.4.3, http://www.apache.org [root@devel]# netstat -n Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 192.168.1.2:32799 209.237.227.195:80 ESTABLISHED tcp 0 0 192.168.1.2:32798 209.237.227.195:80 ESTABLISHED RH 9, Mozilla 1.4.3, http://www.apache.org- após fechar o browser. [root@devel]# netstat -n Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 192.168.1.2:32799 209.237.227.195:80 TIME_WAIT tcp 0 0 192.168.1.2:32798 209.237.227.195:80 TIME_WAIT RH 9, Mozilla 1.4.3, http://www.google.com [root@devel]# netstat -n Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 192.168.1.2:32806 64.233.161.104:80 ESTABLISHED

Performance com HTTP (1.0 / 1.1) Outros exemplos... RH 9, Mozilla 1.4.3, http://www.ufsc.br - 4 conexões. [root@devel]# netstat -n Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 192.168.1.2:32856 150.162.1.150:80 ESTABLISHED tcp 0 0 192.168.1.2:32857 150.162.1.150:80 ESTABLISHED tcp 0 0 192.168.1.2:32854 150.162.1.150:80 ESTABLISHED tcp 0 0 192.168.1.2:32855 150.162.1.150:80 ESTABLISHED Windows 2000 Prof., IE 6, http://www.ufsc.br - 7 conexões. C:\>netstat -n Active Connections Proto Local Address Foreign Address State TCP 192.168.1.2:1076 150.162.1.150:80 ESTABLISHED TCP 192.168.1.2:1077 150.162.1.150:80 ESTABLISHED TCP 192.168.1.2:1078 150.162.1.150:80 ESTABLISHED TCP 192.168.1.2:1079 150.162.1.150:80 ESTABLISHED TCP 192.168.1.2:1080 150.162.1.150:80 ESTABLISHED TCP 192.168.1.2:1081 150.162.1.150:80 ESTABLISHED TCP 192.168.1.2:1082 150.162.1.150:80 ESTABLISHED

Performance com HTTP (1.0 / 1.1) Outros exemplos... Win2000 Prof., IE 6, http://www.uol.com.br C:\>netstat -n Active Connections Proto Local Address Foreign Address State TCP 192.168.1.2:1095 200.221.7.37:80 ESTABLISHED TCP 192.168.1.2:1096 200.221.7.37:80 ESTABLISHED TCP 192.168.1.2:1097 200.221.7.37:80 ESTABLISHED TCP 192.168.1.2:1099 200.221.7.38:80 ESTABLISHED TCP 192.168.1.2:1100 200.221.7.38:80 ESTABLISHED TCP 192.168.1.2:1104 200.221.7.38:80 ESTABLISHED TCP 192.168.1.2:1105 200.221.7.38:80 ESTABLISHED TCP 192.168.1.2:1107 200.221.8.115:80 ESTABLISHED TCP 192.168.1.2:1110 200.221.8.115:80 ESTABLISHED Win2000 Prof., Mozilla 1.4.3, http://www.uol.com.br C:\ netstat -n Active Connections Proto Local Address Foreign Address State TCP 192.168.1.2:1303 200.221.7.38:80 ESTABLISHED TCP 192.168.1.2:1304 200.221.7.38:80 ESTABLISHED TCP 192.168.1.2:1306 200.221.8.115:80 ESTABLISHED TCP 192.168.1.2:1309 200.221.8.115:80 ESTABLISHED

Apache Web Server Em Abril/1995 a primeira versão do Apache foi liberada, baseada no code base do NSCA httpd server v. 1.3; Esta release (v 0.7) incorporava muitos patches da comunidade para o código do NSCA, de onde surgiu seu nome: A PAtCHy HTTPD é um dos projetos da The Apache Software Foundation (http://www.apache.org); Atualmente ocupa o posto de Web Server mais usado na Internet (Netcraft, 2005).

Apache Web Server Utilização de Web Servers Apache Microsoft Sun NCSA Zeus Fonte: Netcraft Jun/2005 (http://www.netcraft.com)

Apache Web Server Performance / Escalabilidade O projeto Apache ( httpd ) tradicionalmente priorizou os seguintes aspectos: Portabilidade; Segurança; Flexibilidade; Aderência aos padrões abertos; Até a versão 1.3, performance e escalabilidade não eram as principais prioridades do projeto; Apesar de ser o mais utilizado, o Apache não é o Web Server mais performático em termos de benchmarks!

Comparativo de Performance Req/seg. x Conexões simultâneas Apache Web Server Apache Fonte: ACME Labs. (http:://www.acme.com)

Apache Web Server Performance / Escalabilidade (cont.) Sobre Benchmarks, vale ressaltar: Benchmarks!= Real World Latência da rede vs. Capacidade do Web Server; Quantos sites você conhece tem um link WAN de 100Mbps? Devido ao número de componentes envolvidos, certamente estes resultados são distantes da sua realidade; Realize os seus próprios testes!!!

Apache Web Server Aspectos Arquiteturais ver. 1.3: Baseada em processos (Unix/Linux); Threads na plataforma Windows NT; ver. 2.0 (abril/2002): Introduz o modelo de processos MPM (Multi-Processing Modules); Utiliza a system call sendfile(2) para envio e recebimento de conteúdo estático (html, gif, jpg, pdf,...); Suporta a system call mmap(2) para mapeamento de arquivos em memória;

Apache Web Server Aspectos Arquiteturais (cont.) MPMs (v. 2.0): Responsáveis por: Gerenciar as portas de comunicação, aceitar conexões, alocar threads/processos para atendimento das requisições; Possibilitam customizações específicas para cada plataforma de SO (ex. mpm_winnt); Alternativas: prefork, perchild, worker, threadpool, leader, beos, mpmt_os2, outros...; Os MPMs perchild, leader e threadpool são experimentais, portanto inadequados para ambientes de produção.

Apache Web Server Aspectos Arquiteturais (cont.) Dois exemplos de MPM prefork worker Pai Pai Filho1 Filho2 Filho3 Filhon Filho1 Filho2 Filho3 Filhon thr1... thrn thr1... thrn thr1... thrn thr1... thrn

Apache Web Server Avaliação de Performance Benchmark realizado por de Andrew Ho (http://www.zeuscat.com/andrew/work/aprbench/) Web Server: Dual PIII, 700MHz, 1 GB RAM, Solaris x86; Gerador de Carga: Configuração idêntica ao Web Server; Conteúdo estático: Arquivo de 1 KB. Instalação do httpd sem customizações (out-of-box); A cada 30 segundos o nível de concorrência foi incrementado em 1.

Apache Web Server Avaliação de Performance (cont.)

Apache Web Server Avaliação de Performance (cont.)

Apache Web Server Avaliação de Performance (cont.) Utilizando processor bind

Apache Web Server Avaliação de Performance (cont.) Benchmark realizado pelo IBM Linux Technology Center (LTC) Server: IBM xseries Netfinity 8500R CPU: (8) Pentium III-700MHz RAM: 9 GB Swap: 2 GB Red Hat 7.3 Web server: Apache httpd 2.0.47 Gerador de carga: WPT 1.9.4

Apache Web Server Avaliação de Performance (cont.) Comparação do Apache 2.0 com Kernel 2.4 e 2.6

Apache Web Server Avaliação de Performance (cont.) Aspectos relativos ao conteúdo: Não se preocupe com conteúdo estático; As páginas dinâmicas são/serão o seu gargalo!!! Teste com conteúdo estático vs. dinâmico: Duração: 8 horas; Apache httpd: 2.0.46; Red Hat Enterprise Linux AS 2.0 (kernel 2.4.21); MPM prefork (200 processos httpd); Páginas de 196 Kbytes e Carga: 90%.

Apache Web Server Avaliação de Performance (cont.) Consumo de Memória (pág. estática) RAM (MBytes) Horas 200 175 150 125 100 75 50 25 0 0:00 1:00 1:58 2:58 3:58 4:58 5:58 6:58 7:58 Fonte: palestrante.

Apache Web Server Avaliação de Performance (cont.) Consumo de Memória (pág. dinâmica) 500 E8 450 400 350 E7 300 250 200 150 100 50 0 Horas 0:00 1:00 1:57 2:57 3:57 4:57 5:57 6:57 7:57 RAM (MBytes) Fonte: palestrante.

Apache em sites de Alto Tráfego Apache em sites de Alto Tráfego Qual arquitetura do Apache utilzar (1.3 ou 2.0)? httpd 2.0.x; Qual MPM (worker / prefork)? worker customizado (avalie preliminarmente); Qual versão do Kernel? 2.6.x; Com hardware SMP/SMT(HT), utilize os recursos de CPU affinity! Schedutils (taskset, chrt); http://rlove.org/schedutils/

Apache em sites de Alto Tráfego Apache em sites de Alto Tráfego (cont.) Evite a qualquer custo o swapping: Limite o nr. de processos / threads por servidor; Utilize mais de um servidor escalando horizontalmente: DNS round robin; IP load balancer: LVS/IPVS, Red Hat Cluster Suite, Cisco Local Director, F5 BigIP, outros...; Avalie a utilização de um servidor especializado (ex. thttpd) para servir todo conteúdo estático (ex. imagens, zip, pdf, etc.);

Apache em sites de Alto Tráfego Apache em sites de Alto Tráfego (cont.) Planeje a infra-estrutura do seu servidor Apache, definindo os requisitos que devem ser atendidos: tempo de resposta, nr. de conexões simultâneas, perfil / caracterização do tráfego, etc. Não esqueça de ser generoso ao planejar sua capacidade de memória RAM; A seguir, algumas recomendações de configuração para o httpd.conf:

Apache em sites de Alto Tráfego Apache em sites de Alto Tráfego (cont.) Antes de tudo, compile o httpd como worker:./configure with-mpm=worker... No httpd.conf: Habilite o uso de mmap(2): EnableMMAP on MMapFile /usr/local/.../foto.jpg Habilite o uso de sendfile(2): EnableSendfile on Modifique o valor default do ListenBacklog: ex. ListenBacklog 5000

Apache em sites de Alto Tráfego Apache em sites de Alto Tráfego (cont.) Mais httpd.conf...: Evite o custo de criar e remover processos com frequência, definindo MinSpare=MaxClients e MaxSpare=0 worker: MinSpareThreads=MaxClients MaxSpareThreads=0 prefork: MinSpareServers=MaxClients MaxSpareServers=0 MaxRequestsPerChild=0

Apache em sites de Alto Tráfego Apache em sites de Alto Tráfego Exemplo de seção worker do httpd.conf # worker MPM <IfModule worker.c> ServerLimit 50 StartServers 50 MaxClients 500 MinSpareThreads 500 MaxSpareThreads 0 ThreadsPerChild 10 MaxRequestsPerChild 0 </IfModule>

Apache em sites de Alto Tráfego Apache em sites de Alto Tráfego Exemplo de seção prefork do httpd.conf # prefork MPM <IfModule prefork.c> ServerLimit 500 StartServers 500 MaxClients 500 MinSpareServers 500 MaxSpareServers 0 MaxRequestsPerChild 0 </IfModule>

Apache em sites de Alto Tráfego Apache em sites de Alto Tráfego (cont.) Mais httpd.conf...: Utilize Conexões persistentes/pipelining KeepAlive On MaxKeepAliveRequests 0 Em casos de memory leaks, programe a reinicialização periódica do httpd: killall -HUP httpd; (não recicla!) killall -9 httpd; httpd; (causa downtime) apachectl restart; (recicla c/zerodowntime!)

Apache em sites de Alto Tráfego Conclusões Você precisa entregar em 15 seg.? Avalie os requisitos de capacidade do seu site; Comece definindo suas necessidades em termos de taxa/tempo de resposta e nr. de conexões simultâneas; Use o log do Apache e outras medições para caracterizar a utilização do seu site; Hands-on!

Obrigado! RIVALINO@K4B.COM.BR RIVALINO@DEPS.UFSC.BR