Codemotion: descubriendo las cachés

22
MADRID · NOV 21-22 · 2014 Descubriendo las caches Quique Martínez Plain Concepts @quiqu3 Fernando Escolar Tokiota @fernandoescolar

description

Descubriendo las caches por Quique Martínez y Fernando Escolar. Hoy en día en la nube puedes hospedarlo todo, incluso la memoria caché que usan tus aplicaciones. Pero no todas las cachés que encontramos son iguales, ni se usan para los mismos fines, ni siquiera tienen el mismo comportamiento. A lo largo de esta charla realizaremos un viaje a través de los tipos de datos, cuales es mejor almacenarlos en caché y qué caché es más recomendabe para cada uno. Y terminaremos con los resultados de un estudio acerca de la performance de diferentes sistemas de cachés hospedados en la nube.

Transcript of Codemotion: descubriendo las cachés

Page 1: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Descubriendo las caches

Quique Martínez

Plain Concepts

@quiqu3

Fernando Escolar

Tokiota

@fernandoescolar

Page 2: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Qué es una memoria caché

Page 3: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Tipos de caché

Caché L1

Page 4: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Tipos de caché

Caché L2

Page 5: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Tipos de caché

Caché L3

Page 6: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Cache memory vs. no-memory

Page 7: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Tipos de datos

Datos de referencia

Page 8: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Tipos de datos

Datos de actividad

Page 9: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Tipos de datos

Datos de recursos

Page 10: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Tipos de datos

Datos de referencia

Datos de actividad

Datos de recursos

Page 11: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Por qué usar caché

Porque reducimos la latencia

Latencia baja → respuesta rápida

Respuesta rápida → más velocidad

Más velocidad → cliente contento

Cliente contento…

Page 12: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Por qué usar caché

Page 13: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Más hierro

Performance de procesos

Usando agregados

Variables de sesión

Caché output

Alternativas

Page 14: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Escalar es caro

Los procesos tienen límites

Los agregados no son la panacea

La sesión no es compartida

El output lo gestiona el cliente

Pero…

Page 15: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Caché distribuida

Nuevos retos:

Nuevo hierro

Gestión

Integración

Escalabilidad

Plan de contingencia

Page 16: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Servicios caché en la nube

Page 17: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Cache as a Service

Page 18: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Azure Cache:

AppFabric Cache

Cache In-Role

Azure Cache Services

Virtual Machine

Redis

Page 19: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

TETINGBEFORE DEPLOYING IS

OVERRATED

Page 20: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Resultados:

Tech Mode Min. Put Max. Put Min. Get Max. Get Avg. Put Avg. Get Num. Operations

Azure In-role Cache Memcached Shim Wrapper 1 4782 1 499 7 6 101027

Azure In-role Cache Memcached Gateway 0 217 0 20 3 2 101032

Azure Cache Service Azure SDK 0 16747 0 165 5 16 101020

Memcached VM Memcached 0 36 0 42 0 0 101020

Azure In-role Cache Local - Azure SDK 0 10308 0 77 3 4 101020

Azure Redis StackExchange

Page 21: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Page 22: Codemotion: descubriendo las cachés

MADRID · NOV 21-22 · 2014

Muchas gracias!!!

Quique Martínez

Plain Concepts

@quiqu3

Fernando Escolar

Tokiota

@fernandoescolar