O Apache Prefork está funcionando rápido, em seguida, o Worker MPM para servir conteúdo estático?

1

Eu encontrei tantas coisas relacionadas ao trabalhador Apache MPM está trabalhando rápido do que Prefork MPM, eu sei nginx é outra opção, mas eu quero ficar no apache como para o uso de htaccess e alguns outros recursos, então eu estou fazendo uma comparação usando o teste de benchmark do apache para servir arquivo de conteúdo estático (bg.png) (tamanho = 232KB) e fiquei surpreso ao ver resultados que o apache prefork serve conteúdo estático mais rápido que o worker, a diferença não é tão grande, mas os resultados me colocam em dúvida e Eu não estou tomando uma decisão sobre os testes abaixo, então por favor me guie e me ajude.

Ambos os testes são feitos no mesmo servidor usando a interface de loopback (127.0.0.1) localhost para evitar dúvidas relacionadas a atrasos de rede / largura de banda e também sem manter-se ativo.

1) Teste usando o apache prefork

prefork MPM

StartServers 5 MinSpareServers 3 MaxSpareServers 5 Limite de servidor 256 MaxClients 256 MaxRequestsPerChild 4000

ab -n 1000 -c 900 link

Caminho do Documento: /bg.png Comprimento do Documento: 235354 bytes

Nível de Concorrência: 900 Tempo gasto para testes: 1.053 segundos Pedidos completos: 1000 Pedidos falhados: 0 Erros de gravação: 0 Total transferido: 235983024 bytes HTML transferido: 235738292 bytes Solicitações por segundo: 949,68 [# / s] (média) Tempo por pedido: 947,690 [ms] (média) Tempo por solicitação: 1,053 [ms] (média, em todas as solicitações simultâneas) Taxa de transferência: 218855,25 [Kbytes / seg] recebidos

Tempos de conexão (ms)               min média [+/- sd] mediana max Ligue: 0 111 295,5 1 1000 Processando: 3 137 207,8 59 631 Espera: 0 136 208,1 58 631 Total: 22 248 334,4 73 1024

Porcentagem das solicitações atendidas em um determinado período de tempo (ms)   50% 73   66% 79   75% 660   80% 664   90% 672   95% 1019   98% 1022   99% 1023  100% 1024 (pedido mais longo)

2) Teste usando o Worker MPM

  ThreadLimit 200   StartServers 3   ServerLimit 25   MaxClients 2000   MinSpareThreads 50   MaxSpareThreads 200   ThreadsPerChild 100   MaxRequestsPerChild 0

Caminho do Documento: /bg.png Comprimento do Documento: 235354 bytes

Nível de Concorrência: 900 Tempo gasto para testes: 1.061 segundos Pedidos completos: 1000 Pedidos falhados: 0 Erros de gravação: 0 Total transferido: 264421004 bytes HTML transferido: 264146992 bytes Solicitações por segundo: 942,39 [# / s] (média) Tempo por pedido: 955,018 [ms] (média) Tempo por solicitação: 1,061 [ms] (média, em todas as solicitações simultâneas) Taxa de transferência: 243347,56 [Kbytes / seg] recebidos

Tempos de conexão (ms)               min média [+/- sd] mediana max Ligue: 0 58 158,4 37 1003 Processando: 31 255 330,6 88 884 Espera: 0 223 336,7 50 870 Total: 68 313 354,1 112 1034

Porcentagem das solicitações atendidas em um determinado período de tempo (ms)   50% 112   66% 150   75% 900   80% 905   90% 920   95% 921   98% 1032   99% 1033  100% 1034 (pedido mais longo)

Abaixo estão as diferenças

Estatísticas do Prefork

Tempo necessário para testes: 1,053 segundos Total transferido: 235983024 bytes HTML transferido: 235738292 bytes Solicitações por segundo: 949,68 [# / s] (média) Tempo por pedido: 947.690 [ms] (mean) Tempo por solicitação: 1,053 [ms] (média, em todas as solicitações simultâneas) Taxa de transferência: 218855,25 [Kbytes / seg] recebidos

estatísticas do trabalhador

Tempo necessário para testes: 1,061 segundos Total transferido: 264421004 bytes HTML transferido: 264146992 bytes Solicitações por segundo: 942,39 [# / s] (média) Tempo por pedido: 955.018 [ms] (mean) Tempo por solicitação: 1.061 [ms] (média, em todas as solicitações simultâneas) Taxa de transferência: 243347,56 [Kbytes / seg] recebidos

de acordo com as estatísticas acima

O tempo gasto em testes + Tempo por solicitação é menor para o prefork do que para o trabalhador. Então, por favor guie & sugerir, é prefork é melhor para servir conteúdo estático?

    
por Mike 04.02.2016 / 19:49

0 respostas