• Português
  • Inglês
  • Espanhol

Índice do Fórum Comunidade Expresso Livre
   Performance: Problemas e Melhorias
  Apache para o Expresso Livre - Prefork ou Worker qual o melhor ?

Navegando neste Tópico:   1 usuários anônimos

 

 Final   Tópico anterior   Próximo tópico
Enviado por Tópico
  •  Zinato
      Zinato
Apache para o Expresso Livre - Prefork ou Worker qual o melhor ?
#1
Gente fina!
Cadastrado em: 24/7/2010
De
Mensagens: 91
Offline
Bom resumindo para quem cair neste tópico.

--------
Basicamente, no "prefork", para cada conexão será criado um processo específico para atendê-la, de modo que a quantidade de processos httpd será sempre maior ou igual a quantidade de clientes. Nesta arquitetura, temos uma quantidade inicial que processos que são pré-criados para atender as conexões, sendo que a medida que os clientes se conectam, eles são atendidos por estes processos. No prefork, temos basicamente dois problemas em termos de performance:

Memória: cada processo criado ocupa uma porção da memória, de modo que a memória disponível para cache do kernel é cada vez menor, ao ponto que toda ela é preenchida pelos processos httpd, momento onde o servidor começa a fazer swap em disco;
Load: a criação de novos processos (fork) gera um overhead no sistema, de modo que quanto maior a taxa de conexão, maior será o overhead no fork para atender as novas conexões;
---------

A outra opção de MPM, o "worker", trabalha com o conceito multi-thread, onde as requisições são atendidas por threads e não por processos. Assim, teríamos apenas um ou poucos processos com múltiplas threads em cada um deles, atendendo cada uma das conexões. Com o worker, minimizamos a utlização de memória, já que as threads compartilham a mesma área de memória do processo pai, e reduzimos o overhead na criação de processos. Na verdade, no caso do worker, definimos a quantidade de threads por processo de modo que só realizamos um fork quando este limite é atingido.

------------

Bom cada caso é um caso gostaria de saber qual o mais recomendado para o Expresso. Para o pessoal que fez testes com prefork e worker o que achou.

O default da maioria das distribuições é vir com o apache em prefork.
Enviado em: 10/2/2012 20:33
Criar PDF com esta mensagem Imprimir
Topo
  •  Rodrigo Souza
      Rodrigo Souza
Re: Apache para o Expresso Livre - Prefork ou Worker qual o melhor ?
#2

Cadastrado em: 27/4/2007
De
Mensagens: 2742
Offline
O modo prefork realmente fica enviável em alguns casos, é muito utilizado.

A especificação do equipamento aonde está hospedado o apache e qual serviços compartilham tal é crucial para determinar qual modelo utilizar.

Todavia o modelo de thread é a alternativa que apresenta melhores resultados em altas demandas, pois no apache, essa apresenta um modo híbrido.

Assim não é possível apenas afirmar qual é a melhor sem conhecimento da especificação do equipamento em questão.
Enviado em: 13/2/2012 7:51
Criar PDF com esta mensagem Imprimir
Topo
  •  Zinato
      Zinato
Re: Apache para o Expresso Livre - Prefork ou Worker qual o melhor ?
#3
Gente fina!
Cadastrado em: 24/7/2010
De
Mensagens: 91
Offline
Rodrigo, acho que não me expressei bem no tópico. Várias aplicações em PHP tem problemas em funcionar com o Apacke no modo worker. Já detectaram algum problema no Expresso com o Apache rodando no modo worker ?

Tem aplicações que ao invés de melhorar a performance no modo worker possuem uma piora considerável. Alguém já validou isto no Expresso ?
Enviado em: 13/2/2012 8:35
Criar PDF com esta mensagem Imprimir
Topo
  •  William Merlotto
Re: Apache para o Expresso Livre - Prefork ou Worker qual o melhor ?
#4

Cadastrado em: 21/11/2006
De Foz do Iguaçu
Mensagens: 994
Offline
Olá!

Lucas, a única forma garantida de utilizar o apache worker + php é com o PHP-FPM.

Assim, o apache é apenas o front-end (http), que irá encaminhar o processamento do PHP para o conjunto de processos específicos do PHP.

Já fiz esta instalação e funciona muito bem!

Melhor que isso, só o nginx + php-fpm!

Att,
Enviado em: 13/2/2012 16:28
Criar PDF com esta mensagem Imprimir
Topo
  •  Joaquim Ferraz
Re: Apache para o Expresso Livre - Prefork ou Worker qual o melhor ?
#5

Cadastrado em: 11/9/2008
De Recife - PE
Mensagens: 1083
Offline
Lucas, apenas como informação aqui no Estado usamos esse modo de configuração. Segundo os analistas de suporte e com pesquisa de satisfação dos usuários monstrou que melhorou a velocidade do Expresso aqui.
Enviado em: 13/2/2012 17:40
Criar PDF com esta mensagem Imprimir
Topo
  •  Zinato
      Zinato
Re: Apache para o Expresso Livre - Prefork ou Worker qual o melhor ?
#6
Gente fina!
Cadastrado em: 24/7/2010
De
Mensagens: 91
Offline
Citando:

Joaquim Ferraz wrote:
Lucas, apenas como informação aqui no Estado usamos esse modo de configuração. Segundo os analistas de suporte e com pesquisa de satisfação dos usuários monstrou que melhorou a velocidade do Expresso aqui.


Joaquim qual modo O Apache MPM Worker + mod_fastcgi + PHP-FPM ou Apache MPM Worker + PHP
Enviado em: 13/2/2012 19:04
Criar PDF com esta mensagem Imprimir
Topo
  •  Joaquim Ferraz
Re: Apache para o Expresso Livre - Prefork ou Worker qual o melhor ?
#7

Cadastrado em: 11/9/2008
De Recife - PE
Mensagens: 1083
Offline
Lucas,

aqui é Apache + mod_fastcgi
Enviado em: 14/2/2012 14:18
Criar PDF com esta mensagem Imprimir
Topo
  •  Redson Arcenio
      Redson Arcenio
Re: Apache para o Expresso Livre - Prefork ou Worker qual o melhor ?
#8
Não tão novato
Cadastrado em: 26/11/2010
De Manaus
Mensagens: 14
Offline
Boa tarde a todos!!!

Rodrigo Souza gostaria de saber onde encontro essas opções para eu alterar no expresso. É no apache, php ou no próprio expresso??Citando:

Joaquim Ferraz escreveu:
Lucas,

aqui é Apache + mod_fastcgi
Enviado em: 28/3/2013 17:22
Criar PDF com esta mensagem Imprimir
Topo
 Topo   Tópico anterior   Próximo tópico

 


 Você não pode iniciar um novo tópico.
 Você pode ver os tópicos.
 Você não pode responder.
 Você não pode editar.
 Você não pode excluir mensagens.
 Você não pode incluir votações.
 Você não pode votar.
 Você não pode anexar arquivos.
 Você não pode enviar mensagens sem aprovação.