presentación de cual es la estructura de facebook hay muchas pistas de como optimizar un website. Incluso si no tienes 120M de usuarios. Merece la pena verla y seguir la presentación porque hay información interesante. Las pistas como siempre que crece un proyecto: * uso extensivo de memcached (25TB dedicados ;-). * desnormalizar las bases de datos. En este caso usan MySQL intensivamente. * cuando PHP no es suficiente crear servicios más eficaces en otros lenguajes. * optimizar todo desde el lenguaje a las consultas (nunca usan joins). * monitorizar. * y seguir optimizando y optimizando cada cuello de botella.]]>
abril 12, 2009
abril 4, 2009
Menos es m
noticia de como estaban diseñados algunos de los servidores de google pensé inmediatamente que era una inocentada (April 1, fools day). Hablé con algunos googlers que juraban que algunos servidores eran así y no solo les creí sino que tiene mucho sentido. Si tienes que montar algo innovador como un cluster de cientos de miles de ordenadores que soporte millones de consultas por segundo tienes que pensar en algo distinto. Si el beneficio que vas a obtener por cada server es muy bajo hay que optimizar todos los costes. Si tienes medio millón de servidores y ahorras 0,1 euros por día, los resultados son cifras importantes incluso para google. Estoy pensando en los servidores que he montado a mis clientes o ya tienen instalados y empiezo a comprender la belleza de la simplicidad de diseño de google. ¿Necesito las carcasas, los displays de estatus y muchos de los extras que incluyen? Pues realmente no. Y en el caso de la arquitectura de google mucho menos. Cada uno de estos servidores forma parte de un cluster. Ninguno de estos servers es crítico, la información se replica automáticamente, le llegan peticiones y simplemente las ejecuta. Reemplazar uno de estos servidores o una de sus piezas es trivial (usan velcro ;-). Los componentes que usan son los que están en las tiendas y tiene sentido que además no se use la «última tecnología». Está ofrece un 15%-20% más de prestaciones por un 30%-50% de precio más. Al final la solución es tan sencilla y eficiente que se vuelve a cumplir: el menos es más. Lo extraño es que gigabyte o cualquier fabricante de hardware masivo no haya sacado un producto en esta línea. Si sumanos este tipo de hardware y arquitecturas de aplicaciones distribuidas tipo google o hadoop no hay duda que es una buena solución para muchos proyectos que no tienen que tener el tamaño de google ni mucho menos.]]>