optimización de código en proyectos de software libre · http servers flisol santiago 2011 / ...

Post on 03-Oct-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Optimización de códigoen proyectos de Software Libre

Eduardo Silva <edsiper@gmail.com> ; twitter.com/edsiper

SoftwareFlisol Santiago 2011 / http://edsiper.linuxchile.cl

¿ Optimizar ?

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

✔ Distintas necesidades- Servidores

- Desktop - Laptop - Teléfonos - Embedded devices

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

El Hardware es limitado

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

Chrome v/s Firefox

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

Bajemos un peldaño...

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

GNU/LinuxFlisol Santiago 2011 / http://edsiper.linuxchile.cl

Linux Kernel

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

Linux Kernel - Scheduler

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

Linux Kernel - Scheduler

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

¿ quien primero ?

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

Benchmarks

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

HTTP ServersFlisol Santiago 2011 / http://edsiper.linuxchile.cl

Apache Benchmark

Permite obtener una “pseudo” idea de cuantos“requests” el servidor puede procesar por segundo

ab -n 15000 -c20 -k http://SERVER:IP/archivo

HTTP ServersFlisol Santiago 2011 / http://edsiper.linuxchile.cl

Apache Benchmark – Live Test

Archivo : 100 bytes

NginX : v1.0 port = 2002Cherokee : v1.2.2 port = 2003Apache2 : v2.2.17 port = 80Monkey : v0.14.0 port = 2001

ab -n 15000 -c 20 -k http://localhost/100b.txt

Monkey NginX Cherokee Apache0

5000

10000

15000

20000

25000

30000

Requests/Second

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

Resultados: req/s

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

Y despues de...

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

Uso de memoria

Monkey NginX Cherokee0

200

400

600

800

1000

1200

1400

1600

Uso de Memoria

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

Monkey-project.com

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

Valgrind.org

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

Valgrind

- Massif : consumo de memoria - Callgrind: costo por llamada a funciones

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

Valgrind

Valgrind –tool=massif programa

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

Valgrindvalgrind –tool=callgrind programa

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

¿ Como optimizar ?

- Uso eficiente de memoria- Reducir I/O a discos- Procesos/Hebras/CPU- Arquitectura

Flisol Santiago 2011 / http://edsiper.linuxchile.cl

Preguntas

edsiper@gmail.comedsiper.linuxchile.clTwitter.com/edsiper

top related