Post on 06-Jul-2015
description
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