Optimizacion de aplicaciones LAMP

Post on 06-Jul-2015

572 views 2 download

description

Charla presentada en el segundo BarcampPuno

Transcript of Optimizacion de aplicaciones LAMP

Optimización de aplicaciones LAMP

@migueltonic

Puno, 19 diciembre 2009

Objetivo

• Definir un entorno de desarrollo LAMP• Razones para optimizar• Optimización• “La clave”

Entorno LAMP

• Linux• Apache• MySql• PHP / Perl / Phyton

Otros entornos

• WAMP (Windows)• MAMP (Mac OS)• SAMP (SAMP)• OAMP (OpenBSD)

Razones para optimizar

• Loading…

Razones para optimizar

• Satisfacción de usuarios• Satisfacción de anunciante$• Satisfacción de jefes• Satisfacción de inversores• Satisfacción de hosting• Satisfacción de google• Satisfacción de equipo de trabajo• Satisfacción propia :P

Razones para optimizar

• Loading…

Optimizando Linux

• Servidores– Hosting / ubicación geográfica– Separar contenido estático / dinámico– Acceso a disco ( RAID 0 … 10 )– Conectividad entre servidores– Planificar espacio– Copias de seguridad

Optimizando Linux

• Sistema operativo– Escoger distribución:

• Base de datos, frontend, ficheros, usuarios/admin

– Administración por Parallels / Manual– Sistema de monitoreo

• Cacti / munin• CPU, Memoria, Disco, Procesos, etc

– Documentar uso del servidor– Otras optimizaciones avanzadas (admin)

• Distribución de carga entre procesadores…

Optimizando Apache

• Apache / Lighthttp, nginx• Redireccionamiento “urls amigables”

– misitio.com/buscar.php?q=barcamp&pag=2– misitio.com/barcamp/2

• Cantidad de conexiones (MaxClients)• Permisos a directorios• Compresión

Optimizando MySql

• Tipo de motor utilizado – MyISAM / InnoDB / etc

• Diseño de datos– Sólo información necesaria ( atomicidad )

• Normalización– Orden / Velocidad

• Índices– Los necesarios

Optimizando MySql

• Queries – Utilizar “explain”

• Utilidad de datos antiguos– Copias temporales y backups

• Monitorear– Consultas lentas, errores

• Crecimiento– Replicación de datos

Optimizando PHP

• Compilación PHP

http://phplens.com/lens/php-book/optimizing-debugging-php.php

Optimizando PHP

http://phplens.com/lens/php-book/optimizing-debugging-php.php

Optimizando PHP

• Utilizar caché de código– Memcache– eAcelerator

• Ejemplo

Optimizando PHP

Optimizando PHP

Optimizando PHP

• Sessiones ( disco, BD, memoria )• /var/lib/php/session

Optimizando PHP

• Compresión de HTML ( gzip header )• Manejo de mensajes de error• Buenas prácticas de programación

La clave

La clave

• “Sentido común es el menos común de los sentidos”

H.Greele

• Gracias!!

http://dev.migueltonic.pe