Optimizacion de aplicaciones LAMP

670 views

Published on

Charla presentada en el segundo BarcampPuno

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
670
On SlideShare
0
From Embeds
0
Number of Embeds
41
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Optimizacion de aplicaciones LAMP

  1. 1. Optimización de aplicaciones LAMP @migueltonic Puno, 19 diciembre 2009
  2. 2. Objetivo <ul><li>Definir un entorno de desarrollo LAMP </li></ul><ul><li>Razones para optimizar </li></ul><ul><li>Optimización </li></ul><ul><li>“ La clave” </li></ul>
  3. 3. Entorno LAMP <ul><li>L inux </li></ul><ul><li>A pache </li></ul><ul><li>M ySql </li></ul><ul><li>P HP / P erl / P hyton </li></ul>
  4. 4. Otros entornos <ul><li>W AMP (Windows) </li></ul><ul><li>M AMP (Mac OS) </li></ul><ul><li>S AMP (SAMP) </li></ul><ul><li>O AMP (OpenBSD) </li></ul>
  5. 5. Razones para optimizar <ul><li>Loading… </li></ul>
  6. 6. Razones para optimizar <ul><li>Satisfacción de usuarios </li></ul><ul><li>Satisfacción de anunciante$ </li></ul><ul><li>Satisfacción de jefes </li></ul><ul><li>Satisfacción de inversores </li></ul><ul><li>Satisfacción de hosting </li></ul><ul><li>Satisfacción de google </li></ul><ul><li>Satisfacción de equipo de trabajo </li></ul><ul><li>Satisfacción propia :P </li></ul>
  7. 7. Razones para optimizar <ul><li>Loading… </li></ul>
  8. 8. Optimizando L inux <ul><li>Servidores </li></ul><ul><ul><li>Hosting / ubicación geográfica </li></ul></ul><ul><ul><li>Separar contenido estático / dinámico </li></ul></ul><ul><ul><li>Acceso a disco ( RAID 0 … 10 ) </li></ul></ul><ul><ul><li>Conectividad entre servidores </li></ul></ul><ul><ul><li>Planificar espacio </li></ul></ul><ul><ul><li>Copias de seguridad </li></ul></ul>
  9. 9. Optimizando L inux <ul><li>Sistema operativo </li></ul><ul><ul><li>Escoger distribución: </li></ul></ul><ul><ul><ul><li>Base de datos, frontend, ficheros, usuarios/admin </li></ul></ul></ul><ul><ul><li>Administración por Parallels / Manual </li></ul></ul><ul><ul><li>Sistema de monitoreo </li></ul></ul><ul><ul><ul><li>Cacti / munin </li></ul></ul></ul><ul><ul><ul><li>CPU, Memoria, Disco, Procesos, etc </li></ul></ul></ul><ul><ul><li>Documentar uso del servidor </li></ul></ul><ul><ul><li>Otras optimizaciones avanzadas (admin) </li></ul></ul><ul><ul><ul><li>Distribución de carga entre procesadores… </li></ul></ul></ul>
  10. 10. Optimizando A pache <ul><li>Apache / Lighthttp, nginx </li></ul><ul><li>Redireccionamiento “urls amigables” </li></ul><ul><ul><li>misitio.com/buscar.php?q=barcamp&pag=2 </li></ul></ul><ul><ul><li>misitio.com/barcamp/2 </li></ul></ul><ul><li>Cantidad de conexiones (MaxClients) </li></ul><ul><li>Permisos a directorios </li></ul><ul><li>Compresión </li></ul>
  11. 11. Optimizando M ySql <ul><li>Tipo de motor utilizado </li></ul><ul><ul><li>MyISAM / InnoDB / etc </li></ul></ul><ul><li>Diseño de datos </li></ul><ul><ul><li>Sólo información necesaria ( atomicidad ) </li></ul></ul><ul><li>Normalización </li></ul><ul><ul><li>Orden / Velocidad </li></ul></ul><ul><li>Índices </li></ul><ul><ul><li>Los necesarios </li></ul></ul>
  12. 12. Optimizando M ySql <ul><li>Queries </li></ul><ul><ul><li>Utilizar “explain” </li></ul></ul><ul><li>Utilidad de datos antiguos </li></ul><ul><ul><li>Copias temporales y backups </li></ul></ul><ul><li>Monitorear </li></ul><ul><ul><li>Consultas lentas, errores </li></ul></ul><ul><li>Crecimiento </li></ul><ul><ul><li>Replicación de datos </li></ul></ul>
  13. 13. Optimizando P HP <ul><li>Compilación PHP </li></ul>http://phplens.com/lens/php-book/optimizing-debugging-php.php
  14. 14. Optimizando P HP http://phplens.com/lens/php-book/optimizing-debugging-php.php
  15. 15. Optimizando P HP <ul><li>Utilizar caché de código </li></ul><ul><ul><li>Memcache </li></ul></ul><ul><ul><li>eAcelerator </li></ul></ul><ul><li>Ejemplo </li></ul>
  16. 16. Optimizando P HP
  17. 17. Optimizando P HP
  18. 18. Optimizando P HP <ul><li>Sessiones ( disco, BD, memoria ) </li></ul><ul><li>/var/lib/php/session </li></ul>
  19. 19. Optimizando P HP <ul><li>Compresión de HTML ( gzip header ) </li></ul><ul><li>Manejo de mensajes de error </li></ul><ul><li>Buenas prácticas de programación </li></ul>
  20. 20. La clave
  21. 21. La clave <ul><li>“ Sentido común es el menos común de los sentidos” </li></ul><ul><li>H.Greele </li></ul>
  22. 22. <ul><li>Gracias!! </li></ul><ul><li>http://dev.migueltonic.pe </li></ul>

×