SlideShare una empresa de Scribd logo
1 de 26
Apache
Instalación
Pasos a seguir
[1] PREFIX hay que reemplazarlo por la ruta en la que se va a instalar
Apache. Si no especifica ningún valor en PREFIX, el valor por defecto que se
toma es /usr/local/apache2
Configuración básica
/etc/httpd/conf/httpd.conf
Apache
Mejora del rendimiento
Apache Tuning
1. Cargar sólo los módulos necesarios
2. Usar los módulos de multiprocessing apropiados
3. DNS lookup
4. Cambiando parametros
i. MaxClients
ii. MinSpareServers, MaxSpareServers, y StartServers
iii. MaxRequestsPerChild
iv. KeepAlive y KeepAliveTimeout
v. Prueba de rendimiento
5. Compresión HTTP y caching
6. Separar el contenido dinámico y el estático
Apache Tuning
1. [Cargar sólo los módulos necesarios]
2. Usar los módulos de multiprocessing apropiados
3. DNS lookup
4. Cambiando parametros
i. MaxClients
ii. MinSpareServers, MaxSpareServers, y StartServers
iii. MaxRequestsPerChild
iv. KeepAlive y KeepAliveTimeout
v. Prueba de rendimiento
5. Compresión HTTP y caching
6. Separar el contenido dinámico y el estático
1.Cargar solo modulos
necesarios
● apachectl -M -> Lista los módulos corriendo en
Apache
● a2dismod/a2enmod <nombre modulo> ->
Desactiva/activa el módulo en cuestión
● apachectl configtest -> Testea que el módulo
desactivado no ha afectado a la conf de Apache
antes de relanzarlo.
Algunos de los módulos que suelen desactivarse [3]
Apache Tuning
1. Cargar sólo los módulos necesarios
2. [Usar los módulos de multiprocessing apropiados]
3. DNS lookup
4. Cambiando parametros
i. MaxClients
ii. MinSpareServers, MaxSpareServers, y StartServers
iii. MaxRequestsPerChild
iv. KeepAlive y KeepAliveTimeout
v. Prueba de rendimiento
5. Compresión HTTP y caching
6. Separar el contenido dinámico y el estático
2. Usar los módulos de multiprocessing
apropiados
Cada proceso que genera varios
procesos hijos, estos son agrupados
y permiten usar la misma conexión.
Apache inicia varios subprocesos y
cada petición es atendida por uno de
estos.
Worker vs Prefork
● Más estable, ya que un error crítico
solo afectaría a una petición.
● Se pueden usar módulos / extensiones
que no sean Thread-Safe.
● Requiere más recursos para atender
peticiones simultáneas
● Favorece el uso intensivo de PHP. Los
aceleradores de PHP no son Thread-
Safe, pueden usarse.
● Prefork es la configuración
predeterminada en la mayoría de
instalaciones.
● Un fallo crítico afecta a varias
peticiones.
● Requiere que todos los
módulos/extensiones que se
vayan a usar sean Thread-Safe.
● Menos recursos para atender
peticiones simultáneas.
● No se pueden usar
aceleradores de PHP.
● Worker solo está disponible
desde Apache 2.x .
Worker vs Prefork
Prefork en
● Un servidor bastante
poderoso
● Manejando casi solo
contenido generado desde
PHP.
● El contenido estático se sirve
desde otro servidor.
Worker en
● Un servidor sencillo
● Más que todo contenido
estático.
● La mayoría del contenido
generado con PHP queda
almacenado en cachés.
Apache Tuning
1. Cargar sólo los módulos necesarios
2. Usar los módulos de multiprocessing apropiados
3. [DNS lookup]
4. Cambiando parametros
i. MaxClients
ii. MinSpareServers, MaxSpareServers, y StartServers
iii. MaxRequestsPerChild
iv. KeepAlive y KeepAliveTimeout
v. Prueba de rendimiento
5. Compresión HTTP y caching
6. Separar el contenido dinámico y el estático
3. DNS lookup
Cada vez que hacemos una conexión
a un cliente,
Apache tiene que resolver el nombre
del cliente,
esto hace que tenga que hacer una
petición al DNS.
Apache tiene la posibilidad de
● crear una lista interna de hosts-ips
● logresolve
Apache Tuning
1. Cargar sólo los módulos necesarios
2. Usar los módulos de multiprocessing apropiados
3. DNS lookup
4. [Cambiando parametros]
i. MaxClients
ii. MinSpareServers, MaxSpareServers, y StartServers
iii. MaxRequestsPerChild
iv. KeepAlive y KeepAliveTimeout
v. Prueba de rendimiento
5. Compresión HTTP y caching
6. Separar el contenido dinámico y el estático
i. MaxClients
+ Timeouts
- RAM
MaxClients = Total RAM dedicated to the web server / Max child process size
- Timeouts
+ RAM
ii. MinSpareServers, MaxSpareServers, y
StartServers
● Estos parámetros condicionarán el multiprocesamiento de Apache
● No dejar muchos procesos en espera si la carga del servidor es baja.
iii.MaxRequestsPerChild y
ThreadsPerChild
ThreadsPerChild. MaxRequestsPerChild.
iv.KeepAlive y KeepAliveTimeout
● Varias peticiones sobre la misma conexión TCP
● Timeout: Tiempo de espera hasta cerrar la conexión
● Destaca con HTML con muchas imágenes
v.Prueba de rendimiento
<IfModule prefork.c>
StartServers
3
MinSpareServers
2
MaxSpareServers 3
MaxClients 15
MaxRequestsPerChild
5000
</IfModule>
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 2
● Hemos usado prefork ya que
vamos a servir contenido
estático
● Al usar prefork,
establecemos el
MaxRequestPerChild
ab -n 1000 -c 160
Apache Tuning
1. Cargar sólo los módulos necesarios
2. Usar los módulos de multiprocessing apropiados
3. DNS lookup
4. Cambiando parametros
i. MaxClients
ii. MinSpareServers, MaxSpareServers, y StartServers
iii. MaxRequestsPerChild
iv. KeepAlive y KeepAliveTimeout
v. Prueba de rendimiento
5. [Compresión HTTP y caching]
6. Separar el contenido dinámico y el estático
5.Compresión HTTP y caching
+ Ancho de banda
+ Recursos necesarios
En apache se puede habilitar la compresión habilitando
el módulo mod_deflate.
Para configurar estos valores usamos mod_expires y
mod_headers.
Comparativa compresión
Apache Tuning
1. Cargar sólo los módulos necesarios
2. Usar los módulos de multiprocessing apropiados
3. DNS lookup
4. Cambiando parametros
i. MaxClients
ii. MinSpareServers, MaxSpareServers, y StartServers
iii. MaxRequestsPerChild
iv. KeepAlive y KeepAliveTimeout
v. Prueba de rendimiento
5. Compresión HTTP y caching
6. [Separar el contenido dinámico y el estático]
6. Separar el contenido dinámico y el
estático
Podemos usar estas lineas en nuestras directivas de VirtualHost
RewriteEngine On
RewriteRule “^/(.*).(jpg|jpeg|gif|png|swf|pdf|avi|mpeg|mpg|mp3)$”
“http://www.yourwebsite.com/$1.$2″ [P]
ProxyPassReverse / http://www.yourwebsite.com/
Esto lo podremos hacer
mediante los módulos
● mod_proxy
● rewrite_module
Referencias
[1] http://httpd.apache.org/docs/2.2/es/install.html
[2] http://bobcares.com/blog/configuring-apache-for-maximum-performance/#COMPRS
[3] http://diariolinux.com/2014/05/31/desactivando-modulos-innecesarios-en-apache/
[4] http://www.maestrosdelweb.com/editorial/entendiendo-los-modos-multiproceso-de-apache/
[5] http://httpd.apache.org/docs/2.2/programs/logresolve.html
[6] http://old.zope.org/Members/ike/Apache2/osx/configure_html
[7] https://drupal.org/node/215516
[8] http://www.websiteoptimization.com/speed//18/18-2t.html
[9] http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
[10] http://www.developerfeed.com/how-proxy-static-content-apache-server

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Tools for High Availability
Tools for High AvailabilityTools for High Availability
Tools for High Availability
 
Introducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIntroducción a Servidor HTTP Apache
Introducción a Servidor HTTP Apache
 
Apache Mesos
Apache MesosApache Mesos
Apache Mesos
 
Desarrollo web con JAVA: Introduccion a los Servlets
Desarrollo web con JAVA: Introduccion a los ServletsDesarrollo web con JAVA: Introduccion a los Servlets
Desarrollo web con JAVA: Introduccion a los Servlets
 
Presentacio Lasalle
Presentacio LasallePresentacio Lasalle
Presentacio Lasalle
 
0 entorno php
0 entorno php0 entorno php
0 entorno php
 
Servidor apache
Servidor apacheServidor apache
Servidor apache
 
Apache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows ServerApache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows Server
 
Entorno PHP
Entorno PHPEntorno PHP
Entorno PHP
 
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integraciónASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
 
Cassandra y php para desarrolladores sql
Cassandra y php para desarrolladores sqlCassandra y php para desarrolladores sql
Cassandra y php para desarrolladores sql
 
09practicafinal
09practicafinal09practicafinal
09practicafinal
 
01intalacion de apache
01intalacion de apache01intalacion de apache
01intalacion de apache
 
Instalando una LAMP en debian 6
Instalando una LAMP en debian 6Instalando una LAMP en debian 6
Instalando una LAMP en debian 6
 
Tomcat y Jboss
Tomcat y JbossTomcat y Jboss
Tomcat y Jboss
 
Ansible DevOps Day Peru 2016
Ansible DevOps Day Peru 2016Ansible DevOps Day Peru 2016
Ansible DevOps Day Peru 2016
 
Optimización de aplicaciones PHP (server side)
Optimización de aplicaciones PHP (server side)Optimización de aplicaciones PHP (server side)
Optimización de aplicaciones PHP (server side)
 
php
phpphp
php
 
Configservers
ConfigserversConfigservers
Configservers
 
Preguntas Apache
Preguntas ApachePreguntas Apache
Preguntas Apache
 

Destacado

フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903ngi group.
 
正規表現のススメ_20091217
正規表現のススメ_20091217正規表現のススメ_20091217
正規表現のススメ_20091217ngi group.
 
素敵なjavascript ~google chrome編~
素敵なjavascript ~google chrome編~素敵なjavascript ~google chrome編~
素敵なjavascript ~google chrome編~ngi group.
 
Sistema de clasificación de severidad de enfermedad apache ii
Sistema de clasificación de severidad de enfermedad apache iiSistema de clasificación de severidad de enfermedad apache ii
Sistema de clasificación de severidad de enfermedad apache iiDrMandingo WEB
 
Procesamiento de datos a gran escala con Apache Spark
Procesamiento de datos a gran escala con Apache SparkProcesamiento de datos a gran escala con Apache Spark
Procesamiento de datos a gran escala con Apache SparkSoftware Guru
 
ESCALAS Y SCORES EN CUIDADOS INTENSIVOS
ESCALAS Y SCORES EN CUIDADOS INTENSIVOSESCALAS Y SCORES EN CUIDADOS INTENSIVOS
ESCALAS Y SCORES EN CUIDADOS INTENSIVOSVirginia Merino
 

Destacado (11)

Apache ii
Apache iiApache ii
Apache ii
 
フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903
 
正規表現のススメ_20091217
正規表現のススメ_20091217正規表現のススメ_20091217
正規表現のススメ_20091217
 
素敵なjavascript ~google chrome編~
素敵なjavascript ~google chrome編~素敵なjavascript ~google chrome編~
素敵なjavascript ~google chrome編~
 
Yii紹介
Yii紹介Yii紹介
Yii紹介
 
Sistema de clasificación de severidad de enfermedad apache ii
Sistema de clasificación de severidad de enfermedad apache iiSistema de clasificación de severidad de enfermedad apache ii
Sistema de clasificación de severidad de enfermedad apache ii
 
Procesamiento de datos a gran escala con Apache Spark
Procesamiento de datos a gran escala con Apache SparkProcesamiento de datos a gran escala con Apache Spark
Procesamiento de datos a gran escala con Apache Spark
 
Apache ii
Apache iiApache ii
Apache ii
 
Scores uci psr[1]
Scores uci psr[1]Scores uci psr[1]
Scores uci psr[1]
 
A77 1
A77 1A77 1
A77 1
 
ESCALAS Y SCORES EN CUIDADOS INTENSIVOS
ESCALAS Y SCORES EN CUIDADOS INTENSIVOSESCALAS Y SCORES EN CUIDADOS INTENSIVOS
ESCALAS Y SCORES EN CUIDADOS INTENSIVOS
 

Similar a Apache, getting the best version (20)

Rendimiento extremo en php
Rendimiento extremo en phpRendimiento extremo en php
Rendimiento extremo en php
 
Servidor web Apache
Servidor web ApacheServidor web Apache
Servidor web Apache
 
Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)
 
Kohana
KohanaKohana
Kohana
 
Apache2 dia1
Apache2 dia1Apache2 dia1
Apache2 dia1
 
Servidor web nginx
Servidor web nginxServidor web nginx
Servidor web nginx
 
3.4.2
3.4.23.4.2
3.4.2
 
Presentacion_PHP5_Avanzado.pdf
Presentacion_PHP5_Avanzado.pdfPresentacion_PHP5_Avanzado.pdf
Presentacion_PHP5_Avanzado.pdf
 
Apache Server vs Nginx
Apache Server vs NginxApache Server vs Nginx
Apache Server vs Nginx
 
Servidor web apache
Servidor web apacheServidor web apache
Servidor web apache
 
Performance en Drupal 7
Performance en Drupal 7Performance en Drupal 7
Performance en Drupal 7
 
22 http ftp_linux_asoitson
22 http ftp_linux_asoitson22 http ftp_linux_asoitson
22 http ftp_linux_asoitson
 
Manual php y_mysql
Manual php y_mysqlManual php y_mysql
Manual php y_mysql
 
Nginx
NginxNginx
Nginx
 
Sacándole el jugo a apache
Sacándole el jugo a apacheSacándole el jugo a apache
Sacándole el jugo a apache
 
Presentación Congreso Internet del Mediterráneo
Presentación Congreso Internet del MediterráneoPresentación Congreso Internet del Mediterráneo
Presentación Congreso Internet del Mediterráneo
 
5 servidor web
5 servidor web5 servidor web
5 servidor web
 
Apendice a
Apendice aApendice a
Apendice a
 
Tema1
Tema1Tema1
Tema1
 
Aplicaciones web con php y my sql
Aplicaciones web con php y my sqlAplicaciones web con php y my sql
Aplicaciones web con php y my sql
 

Más de Ivan Ortega

Great Firewall & Great cannon
Great Firewall & Great cannonGreat Firewall & Great cannon
Great Firewall & Great cannonIvan Ortega
 
Web Security - OWASP - SQL injection & Cross Site Scripting XSS
Web Security - OWASP - SQL injection & Cross Site Scripting XSSWeb Security - OWASP - SQL injection & Cross Site Scripting XSS
Web Security - OWASP - SQL injection & Cross Site Scripting XSSIvan Ortega
 
Plan de empresa: Cómetec
Plan de empresa: CómetecPlan de empresa: Cómetec
Plan de empresa: CómetecIvan Ortega
 
Presentación #hackathonugr ultimo día (1)
Presentación #hackathonugr ultimo día (1)Presentación #hackathonugr ultimo día (1)
Presentación #hackathonugr ultimo día (1)Ivan Ortega
 
Presentación Evenge #hackathonugr
Presentación Evenge #hackathonugrPresentación Evenge #hackathonugr
Presentación Evenge #hackathonugrIvan Ortega
 
Proyect Evenge. Event manager
Proyect Evenge. Event managerProyect Evenge. Event manager
Proyect Evenge. Event managerIvan Ortega
 
Learning j query
Learning j queryLearning j query
Learning j queryIvan Ortega
 
Implementing Telematic Services
Implementing Telematic ServicesImplementing Telematic Services
Implementing Telematic ServicesIvan Ortega
 

Más de Ivan Ortega (8)

Great Firewall & Great cannon
Great Firewall & Great cannonGreat Firewall & Great cannon
Great Firewall & Great cannon
 
Web Security - OWASP - SQL injection & Cross Site Scripting XSS
Web Security - OWASP - SQL injection & Cross Site Scripting XSSWeb Security - OWASP - SQL injection & Cross Site Scripting XSS
Web Security - OWASP - SQL injection & Cross Site Scripting XSS
 
Plan de empresa: Cómetec
Plan de empresa: CómetecPlan de empresa: Cómetec
Plan de empresa: Cómetec
 
Presentación #hackathonugr ultimo día (1)
Presentación #hackathonugr ultimo día (1)Presentación #hackathonugr ultimo día (1)
Presentación #hackathonugr ultimo día (1)
 
Presentación Evenge #hackathonugr
Presentación Evenge #hackathonugrPresentación Evenge #hackathonugr
Presentación Evenge #hackathonugr
 
Proyect Evenge. Event manager
Proyect Evenge. Event managerProyect Evenge. Event manager
Proyect Evenge. Event manager
 
Learning j query
Learning j queryLearning j query
Learning j query
 
Implementing Telematic Services
Implementing Telematic ServicesImplementing Telematic Services
Implementing Telematic Services
 

Apache, getting the best version

  • 2. Pasos a seguir [1] PREFIX hay que reemplazarlo por la ruta en la que se va a instalar Apache. Si no especifica ningún valor en PREFIX, el valor por defecto que se toma es /usr/local/apache2
  • 5. Apache Tuning 1. Cargar sólo los módulos necesarios 2. Usar los módulos de multiprocessing apropiados 3. DNS lookup 4. Cambiando parametros i. MaxClients ii. MinSpareServers, MaxSpareServers, y StartServers iii. MaxRequestsPerChild iv. KeepAlive y KeepAliveTimeout v. Prueba de rendimiento 5. Compresión HTTP y caching 6. Separar el contenido dinámico y el estático
  • 6. Apache Tuning 1. [Cargar sólo los módulos necesarios] 2. Usar los módulos de multiprocessing apropiados 3. DNS lookup 4. Cambiando parametros i. MaxClients ii. MinSpareServers, MaxSpareServers, y StartServers iii. MaxRequestsPerChild iv. KeepAlive y KeepAliveTimeout v. Prueba de rendimiento 5. Compresión HTTP y caching 6. Separar el contenido dinámico y el estático
  • 7. 1.Cargar solo modulos necesarios ● apachectl -M -> Lista los módulos corriendo en Apache ● a2dismod/a2enmod <nombre modulo> -> Desactiva/activa el módulo en cuestión ● apachectl configtest -> Testea que el módulo desactivado no ha afectado a la conf de Apache antes de relanzarlo. Algunos de los módulos que suelen desactivarse [3]
  • 8. Apache Tuning 1. Cargar sólo los módulos necesarios 2. [Usar los módulos de multiprocessing apropiados] 3. DNS lookup 4. Cambiando parametros i. MaxClients ii. MinSpareServers, MaxSpareServers, y StartServers iii. MaxRequestsPerChild iv. KeepAlive y KeepAliveTimeout v. Prueba de rendimiento 5. Compresión HTTP y caching 6. Separar el contenido dinámico y el estático
  • 9. 2. Usar los módulos de multiprocessing apropiados Cada proceso que genera varios procesos hijos, estos son agrupados y permiten usar la misma conexión. Apache inicia varios subprocesos y cada petición es atendida por uno de estos.
  • 10. Worker vs Prefork ● Más estable, ya que un error crítico solo afectaría a una petición. ● Se pueden usar módulos / extensiones que no sean Thread-Safe. ● Requiere más recursos para atender peticiones simultáneas ● Favorece el uso intensivo de PHP. Los aceleradores de PHP no son Thread- Safe, pueden usarse. ● Prefork es la configuración predeterminada en la mayoría de instalaciones. ● Un fallo crítico afecta a varias peticiones. ● Requiere que todos los módulos/extensiones que se vayan a usar sean Thread-Safe. ● Menos recursos para atender peticiones simultáneas. ● No se pueden usar aceleradores de PHP. ● Worker solo está disponible desde Apache 2.x .
  • 11. Worker vs Prefork Prefork en ● Un servidor bastante poderoso ● Manejando casi solo contenido generado desde PHP. ● El contenido estático se sirve desde otro servidor. Worker en ● Un servidor sencillo ● Más que todo contenido estático. ● La mayoría del contenido generado con PHP queda almacenado en cachés.
  • 12. Apache Tuning 1. Cargar sólo los módulos necesarios 2. Usar los módulos de multiprocessing apropiados 3. [DNS lookup] 4. Cambiando parametros i. MaxClients ii. MinSpareServers, MaxSpareServers, y StartServers iii. MaxRequestsPerChild iv. KeepAlive y KeepAliveTimeout v. Prueba de rendimiento 5. Compresión HTTP y caching 6. Separar el contenido dinámico y el estático
  • 13. 3. DNS lookup Cada vez que hacemos una conexión a un cliente, Apache tiene que resolver el nombre del cliente, esto hace que tenga que hacer una petición al DNS. Apache tiene la posibilidad de ● crear una lista interna de hosts-ips ● logresolve
  • 14. Apache Tuning 1. Cargar sólo los módulos necesarios 2. Usar los módulos de multiprocessing apropiados 3. DNS lookup 4. [Cambiando parametros] i. MaxClients ii. MinSpareServers, MaxSpareServers, y StartServers iii. MaxRequestsPerChild iv. KeepAlive y KeepAliveTimeout v. Prueba de rendimiento 5. Compresión HTTP y caching 6. Separar el contenido dinámico y el estático
  • 15. i. MaxClients + Timeouts - RAM MaxClients = Total RAM dedicated to the web server / Max child process size - Timeouts + RAM
  • 16. ii. MinSpareServers, MaxSpareServers, y StartServers ● Estos parámetros condicionarán el multiprocesamiento de Apache ● No dejar muchos procesos en espera si la carga del servidor es baja.
  • 18. iv.KeepAlive y KeepAliveTimeout ● Varias peticiones sobre la misma conexión TCP ● Timeout: Tiempo de espera hasta cerrar la conexión ● Destaca con HTML con muchas imágenes
  • 19. v.Prueba de rendimiento <IfModule prefork.c> StartServers 3 MinSpareServers 2 MaxSpareServers 3 MaxClients 15 MaxRequestsPerChild 5000 </IfModule> KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 2 ● Hemos usado prefork ya que vamos a servir contenido estático ● Al usar prefork, establecemos el MaxRequestPerChild
  • 20. ab -n 1000 -c 160
  • 21. Apache Tuning 1. Cargar sólo los módulos necesarios 2. Usar los módulos de multiprocessing apropiados 3. DNS lookup 4. Cambiando parametros i. MaxClients ii. MinSpareServers, MaxSpareServers, y StartServers iii. MaxRequestsPerChild iv. KeepAlive y KeepAliveTimeout v. Prueba de rendimiento 5. [Compresión HTTP y caching] 6. Separar el contenido dinámico y el estático
  • 22. 5.Compresión HTTP y caching + Ancho de banda + Recursos necesarios En apache se puede habilitar la compresión habilitando el módulo mod_deflate. Para configurar estos valores usamos mod_expires y mod_headers.
  • 24. Apache Tuning 1. Cargar sólo los módulos necesarios 2. Usar los módulos de multiprocessing apropiados 3. DNS lookup 4. Cambiando parametros i. MaxClients ii. MinSpareServers, MaxSpareServers, y StartServers iii. MaxRequestsPerChild iv. KeepAlive y KeepAliveTimeout v. Prueba de rendimiento 5. Compresión HTTP y caching 6. [Separar el contenido dinámico y el estático]
  • 25. 6. Separar el contenido dinámico y el estático Podemos usar estas lineas en nuestras directivas de VirtualHost RewriteEngine On RewriteRule “^/(.*).(jpg|jpeg|gif|png|swf|pdf|avi|mpeg|mpg|mp3)$” “http://www.yourwebsite.com/$1.$2″ [P] ProxyPassReverse / http://www.yourwebsite.com/ Esto lo podremos hacer mediante los módulos ● mod_proxy ● rewrite_module
  • 26. Referencias [1] http://httpd.apache.org/docs/2.2/es/install.html [2] http://bobcares.com/blog/configuring-apache-for-maximum-performance/#COMPRS [3] http://diariolinux.com/2014/05/31/desactivando-modulos-innecesarios-en-apache/ [4] http://www.maestrosdelweb.com/editorial/entendiendo-los-modos-multiproceso-de-apache/ [5] http://httpd.apache.org/docs/2.2/programs/logresolve.html [6] http://old.zope.org/Members/ike/Apache2/osx/configure_html [7] https://drupal.org/node/215516 [8] http://www.websiteoptimization.com/speed//18/18-2t.html [9] http://httpd.apache.org/docs/2.2/mod/mod_proxy.html [10] http://www.developerfeed.com/how-proxy-static-content-apache-server

Notas del editor

  1. HTTP en su última versión, proporciona la posibilidad de establecer sesiones de mayor duración de manera que se permiten múltiples peticiones sobre la misma conexión TCP. En según qué entornos interesará permitirlas, pero en otros entornos con muchas peticiones, esto incrementará el número de conexiones simultáneas impactando en el rendimiento, ya que las conexiones permanecerán abiertas más tiempo.