En estos días más tranquilos de Agosto, ando optimizando los servidores que manejo actualmente para poder sacarles más partido y optimizar también las cuentas de gastos. Y lo que voy descubriendo me va gustando.
Estas son las gráficas obtenidas con loadimpact.com para la misma web con dos configuraciones distintas.
La primera usa Apache 2.2.3 con mod_php5 (5.2.13) y memcached
La segunda Nginx 0.7.67 con php-fpm (5.3.3) y memcached
Bastante interesante el aumento de rendimiento. En mi opinión mucho de este aumento tiene que ver con la posibilidad que ofrece el Nginx de comprobar él mismo si el contenido se encuentra en memcached. De esta forma, se ahorra el tener que hacer la llamada (y posible carga) al fast-cgi de php. Reduciendo de esta forma drásticamente el consumo de memoria y las llamadas a disco del servidor.
Veo que en algunos casos, la optimización por medio de nuevo software más ligero o específico puede cambiar la decisión entre seguir en el mismo servidor o tener que contratar uno más grande (y costoso). Otra forma sencilla de “aumentar ingresos”, vía ahorro de costes, en estos tiempos difíciles.
Para aquellos a los que les gusta personalizar hasta el más mínimo detalle en sus creaciones web, siempre ha sido una piedra en el zapato el hecho de no poder aplicar un estilo a los campos de tipo “file” en los formularios.
Hace tiempo que ya algunos han dado con soluciones parciales al problema, como por ejemplo:
Pero desde ayer, tenemos la que a mi juicio es la más completa y sencilla de ellas. Filament Group, comparte el código de uno de los ejemplos de su libro en:
Lo malo será que ahora ya no tendré excusas cuando los diseñadores me pidan que aplique un estilo distinto al estándar a este tipo de controles ;)
Espero que os sirva.
Como muchos ya sabréis PHP liberó ayer la versión 5.3.3. Entre otras mejoras, la que más me interesaba y que llevaba esperando desde la 5.3 era:
- Added FastCGI Process Manager (FPM) SAPI.
En varios servidores estábamos usando PHP 5.3 con el parche de PHP-FPM, pero habíamos detectado varios errores que nos afectaban en la estabilidad del sistema, por lo que estábamos deseando pasar a la nueva versión.
Al enterarme de que el parche sería incluído en la rama oficial de PHP decidí no actualizar hasta que apareciera la versión estable que lo incluyera… y ese día fue ayer :)
Después de compilar (actualizando antes libevent) y comprobar que no había problemas de incompatibilidades con nuestro software, realicé varias pruebas con el Apache Benchmark (ab) y los resultados no están nada mal: Document Path: /
Document Length: 6699 bytes
Concurrency Level: 10
Time taken for tests: 10.002 seconds
Complete requests: 499
Failed requests: 0
Write errors: 0
Total transferred: 3549886 bytes
HTML transferred: 3342801 bytes
Requests per second: 49.89 [#/sec] (mean)
Time per request: 200.446 [ms] (mean)
Time per request: 20.045 [ms] (mean, across all concurrent requests)
Transfer rate: 346.59 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 54 61 6.4 59 101
Processing: 126 138 9.8 137 206
Waiting: 66 75 9.1 73 146
Total: 181 199 10.5 198 273
Percentage of the requests served within a certain time (ms)
50% 198
66% 201
75% 204
80% 205
90% 208
95% 214
98% 232
99% 250
100% 273 (longest request)
En general el tiempo de respuesta ha bajado unos 600ms de media, lo cual no está nada nada mal :)
Ahora sólo nos queda tener suficiente tráfico como para que todo esto se note realmente :P
El próximo 11 de Junio, se celebra en Málaga el Publifestival. Así se definen ellos:
No podemos quedarnos ciegos ante tanta injusticia social, y reivindicamos las causas sociales a través del medio más potente que existe: LA PUBLICIDAD.
En el quinto año de existencia de Publifestival y bajo el claim, Entérate, no niegues la verdad, Publifestival, el Festival Internacional de la Publicidad Social, vuelve con más emociones que nunca.
Desde cualquier parte del mundo, PUBLIFESTIVAL da la bienvenida a creativos, agencias, instituciones, anunciantes, medios de comunicación… profesionales del mundo de la publicidad con un mismo pensamiento y bajo un mism o lema: no negar la verdad, luchar entre todos por un mundo más justo.
Es el Festival Internacional de Publicidad Social, es la gran gala de la publicidad y el punto de encuentro para empresas y los profesionales del mundo de la comunicación con un interés común: el Marketing con Causa o la Publicidad Social.
Gracias a Takeone, tiendy ha tenido la posibilidad de colaborar con sus servicios y desarrollar y alojar la nueva página web para la edición de este año.
Como muchos sabeis, tiendy es aún un proyecto en desarrollo, que aún no ha sido lanzado al público en general, por lo que es un gran honor para mí poder participar en este evento como colaboradores.
Cuanta falta nos hace que verdaderamente se cumpla por parte de agencias, instituciones y medios de comunicación el slogan de la portada de la web: Entérate ¡no niegues la verdad!
El equipo de JQuery ha liberado la versión 1.4 de su librería Javascript, incorporando numerosas correcciones de errores, mejoras en el rendimiento y nuevas funcionalidades.
Según lo poco que aún me ha dado tiempo a ver, estas son las cosas que yo destaco:
AJAX: acceso a las etags, soporte nativo para interpretar JSON.
Importantes mejoras en las funciones .css y .attr.
Mejoras en los efectos visuales (p.ej. easing personalizable para cada propiedad en la función effects).
Nuevos eventos: focusin y focusout
Aumento de hasta el triple en la velocidad de la función .html().
Soporte para la creación de nuevos elementos al estilo del dojo.create: jQuery("<div />", {
id: "miid",
css: {
height: "70px",
width: "70px",
color: "blue",
backgroundColor: "#eee"
},
click: function() {
$(this).css("backgroundColor", "green");
}
}).appendTo("body");
Alguna desventaja: pasa a pesar unos 70KB comprimida.
Ángel de los Ríos me envía un meme por el que me nomina a la “utilidad”. Esto me llena de orgullo y satisfacción. Es una alegría para mí que lo que escribo termine sirviéndole a alguien :)
Tengo pocos secretos (¿tengo alguno?) así que esa parte me va a costar.
Las normas que tienen que seguir los premiados son:
* Dar gracias a la persona que da los premios.
* Copiar los premios a tu blog.
* Copiar un enlace a su blog.
* Nombra 7 cosas que la gente no sabe acerca de ti.
* Nombrar a 7 bloggers.
* Colocar un enlace a los bloggers.
* Deja un comentario en sus blogs para hacerles saber de sus premios.
Nombro 7 secretos:
* Me encanta el potaje de habichuelas. Sobretodo el que hace mi mujer.
* Suelo escuchar música clásica o canto gregoriano mientras programo.
* No tengo tele en casa.
* Como Ángel, prefiero un libro de papel a un libro electrónico.
* Me gusta la astronomía.
* No me gustan Facebook ni Twitter (los uso por obligación :P)
* Me encanta la comida china.
Con la nueva etiqueta <audio> incluída en HTML5, los navegadores (empezando por Firefox), están poniendo en las manos de los programadores Javascript la posibilidad de crear aplicaciones web hasta ahora impensables.