Está en la página 1de 4

Laboratorio Servidor web Apache

avanzado
Resoluciones

Rendimiento
 

1. Habilite los módulos prefork , worker y event . Modifique las directivas asociadas a cada
módulo y realice pruebas con la herramienta ab .

MPM prefork .

Aunque este módulo es el que se utiliza por defecto repasaremos su configuración y


activación.

Desactivar todos los módulos MPM para evitar conflictos.

# systemctl stop apache2


# a2dismod mpm_prefork mpm_worker mpm_event

Activar módulo.

# a2enmod mpm_prefork
# systemctl start apache2

Modifique las directivas del fichero mods-available/mpm_prefork.conf .

<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild   0
</IfModule>

Reinicie el servidor.

# systemctl restart apache2

Realizar prueba con ab .

# ab -k -n1000 -c100 -H 'Accept-Encoding: gzip,deflate' http://hosting-


avanzado.intranet/index.php
# ab -k -n1000 -c100 -H 'Accept-Encoding: gzip,deflate' http://hosting-
avanzado.intranet/index.php
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking hosting-avanzado.intranet (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests

Server Software:       Apache/2.4.38


Server Hostname:       hosting-avanzado.intranet
Server Port:           80

Document Path:         /index.php


Document Length:       317 bytes

Concurrency Level:     100


Time taken for tests:   6.911 seconds
Complete requests:     1000
Failed requests:       13
  (Connect: 0, Receive: 0, Length: 13, Exceptions: 0)
Non-2xx responses:     987
Keep-Alive requests:   985
Total transferred:     630690 bytes
HTML transferred:       312879 bytes
Requests per second:   144.69 [#/sec] (mean)
Time per request:       691.130 [ms] (mean)
Time per request:       6.911 [ms] (mean, across all concurrent
requests)
Transfer rate:         89.12 [Kbytes/sec] received

Connection Times (ms)


            min mean[+/-sd] median   max
Connect:       0   0   0.4     0       2
Processing:     0 455 1482.6     0   6908
Waiting:       0 395 1389.4     0   6908
Total:         0 455 1483.0     0   6910

Percentage of the requests served within a certain time (ms)


50%     0
66%     0
75%     0
80%     0
90%     3
95%   5009
98%   5888
99%   5891
100%   6910 (longest request)

Nota: Use las páginas man y las ayudas de comando para realizar distintas pruebas.

MPM worker .
Repita los pasos descritos anteriormente pero usando el módulo mpm_worker .

Modifique las directivas del fichero mods-available/mpm_event.conf .

# worker MPM
# StartServers: initial number of server processes to start
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadLimit: ThreadsPerChild can be changed to this maximum value
during a
# graceful restart. ThreadLimit can only be changed by
stopping
# and starting Apache.
# ThreadsPerChild: constant number of worker threads in each server
process
# MaxRequestWorkers: maximum number of threads
# MaxConnectionsPerChild: maximum number of requests a server process
serves

<IfModule mpm_worker_module>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxRequestWorkers 150
MaxConnectionsPerChild   0
</IfModule>

Repita los pasos descritos anteriormente para las pruebas de stress.


MPM event .

Repita los pasos descritos anteriormente pero usando el módulo mpm_event .

Modifique las directivas del fichero mods-available/mpm_event.conf .

# event MPM
# StartServers: initial number of server processes to start
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server
process
# MaxRequestWorkers: maximum number of worker threads
# MaxConnectionsPerChild: maximum number of requests a server process
serves
<IfModule mpm_event_module>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxRequestWorkers 150
MaxConnectionsPerChild   0
</IfModule>

Repita los pasos descritos anteriormente para las pruebas de stress.


2. Compare las pruebas y elija la mejor configuración para su servidor.

También podría gustarte