Publicado el Jueves 13 de Septiembre del 2007 @ 12:20 por Armonth.
1blogcacher es un plugin basado en WP-Cache pensando para hacer lo mismo: cache de páginas en WordPress. La diferencia es que pretende añadir nuevas características.
Copio y pego:
Si bien reconozco que no he mirado al 100% el código me llama la atención esos tres puntos que he puesto en negrita. Veamos por qué:
El uso de cabeceras “Expires” es lo que recomendaban hace dos días en AskApache, una entrada en inglés que permite habilitar las cabeceras de Cache-Control y Content-Length. Buena parte de esa implementación está en el WP-Cache original. Pero con el código comentado, el motivo:
/* No used to avoid problems with some PHP installations */
Y es que si no recuerdo mal, PHP funcionando como CGI da problemas en esos casos o lo que es lo mismo: es posible (que no seguro) que 1blogcacher no sea tan compatible como WP-Cache pese a que éste ya de por sí ha tenido problemas con versiones modernas de PHP (al igual que WordPress).
También se puede extrapolar que aplicando ése parche si tu instalación de PHP no da problemas puede mejorar incluso más el rendimiento.
Otro asunto es el del uso de gzip: añadir compresión gzip a los documentos está muy bien (yo llevo tiempo pidiendo a Ricardo a ver cuándo puede incorporarlo) pero lo ideal sería cachear dos copias de cada documento: comprimida y sin comprimir, la compresión “al vuelo” no me convence en algunos casos… y sin embargo mi hosting (Dreamhost) la usa: y va de lujo, pero me pregunto si usar dos compresiones a la vez puede ocasionar problemas…
Y la segunda compresión (el DEFLATE que hace el server) en muchos casos como en el de Dreamhost no siempre se puede desactivar vía .htaccess (depende del server).
Otro asunto preocupante es el consumo de memoria, el (aparentemente raro) diseño de WP-Cache no es baladí o un capricho: está hecho para que si existe una copia cacheada evite la carga de WordPress y por tanto consumir lo mínimo posible…
1blogcacher para enviar una página estática carga hasta el 75% del código de WordPress (y meter el 75% de 6MB en memoria para enviar un HTML… como que no). WP-Cache en ése sentido si existe una página cacheada para el código de WordPress y el consumo nunca lo he visto superior a 200KB de memoria.
Eso puede suponer una desventaja para WP-Cache: significa que no puedes acceder a funciones o código del propio WordPress desde una página cacheada pero — aparte de algo necesario — es la única manera de reducir drásticamente el consumo de memoria. Además una vez tienes la página cacheada ¿necesitas acceder a algo de WordPress? Muy pocas veces y en esos casos puedes reescribir la función a un fichero externo para ejecutarlo dinámicamente.
A 1blogcacher le falta un buen pulido, aunque me pregunto (sobretodo en el tema de la memoria) si para equipararse a WP-Cache no lo convertirán en otro WP-Cache, perdiendo sus ventajas por el camino.
Si vais a usarlo dos recomendaciones:
Pues tendremos que probarlo a ver que tal, sobretodo la simultaneidad con otros plugins, que es lo que a mi me ha dado algún problema con WP-Caché.
Hola Héctor, gracias por la mención,
Estoy tomando buena nota de todo lo que estáis comentando en diferentes webs. Te copio lo que respondí en otro sitio, porque se aplica también a lo que escribes:
(http://www.buayacorp.com/archivos/wp-cache-vs-1blogcacher/#comment-23304)
“Cuando lo desarrollé mi idea era crear un sistema de cacheo sencillo, y que se instalara como un plugin al uso (subir e instalar), pero ahora me doy cuenta que con ello se ve limitado por lo que comentas.
Estoy desarrollando una nueva versión que, manteniendo el sistema, hace uso del advanced-cache de WordPress así que mejorará en tiempo de respuesta y sobre todo en consumo de memoria. Y la instalación seguirá siendo simple, la diferencia con la versión anterior será sólo subir un archivo adicional. Había algunas dificultades técnicas para usar este sistema con el advanced-cache y mantenerlo simple, pero ya las he solventado y pronto publicaré la nueva versión.
Además, a petición de algunas personas, incorporaré bloques dinámicos.”.
Aparte de lo que ahí comentaba, lo que dices de cachear también la versión comprimida para ahorrar consumo de CPU es una gran idea, y también la incluiré. Espero tener lista la nueva versión en unos días.
Saludos
Por cierto, no es por difamar a la “competencia”, pero al enviar el anterior comentario me ha aparecido ésto:
Warning: unlink(/home/.cerridwen/arm0nth2k6/sigt.net/wp-content/cache/wp-cache-3cd6e255d62333797a5a06d8d7618f44.html) [function.unlink]: No such file or directory in /home/.cerridwen/arm0nth2k6/sigt.net/wp-content/plugins/wp-cache/wp-cache-phase2.php on line 297
:D
“Otro asunto es el del uso de gzip: añadir compresión gzip a los documentos está muy bien (yo llevo tiempo pidiendo a Ricardo a ver cuándo puede incorporarlo) pero lo ideal sería cachear dos copias de cada documento: comprimida y sin comprimir, la compresión “al vuelo” no me convence en algunos casos”
Como parte de unas pruebas, implementé esa parte de generar dos versiones para cada archivo, pero este método no sirve para páginas que usan mfunc/mclude.
En fin, particularmente yo no veo características de 1BlogCacher que no puedan ser sencillamente implementadas/habilitadas en WP-Cache.
Héctor, el problema es que justamente PHP no puede interpretar el código que está en ficheros comprimidos, así que la opción más saludable, como dices, es hacerlo con mod_deflate/mod_gzip.
Lo acabo de instalar (antes tenía wp-cache) y en un principio 1BlogCacher 2 creo que es mejor que wp-cache.
Ahora por ejemplo, con 45 consultas:
Cargado en 0.40 segundos (2008-01-13, 13:28:53). Memoria usada: 448.9 KB de 449 KB.
El uso de memoria igual lo veo un poco excesivo, utilizo:
Memoria usada: “.round(memory_get_usage() / 1024,1).” KB de “.round(memory_get_usage(1) / 1024,1).”KB ”
Seguiré haciendo pruebas.
¿Cómo veis los resultados?
Un saludo.
Armonth entonces wp-cache es más efectivo que Blogcacher 2 (?¿)
Armonth yo creo que tengo un problema con el wp-cache. Intento explicar lo que me pasa.
Deslogueado en mi blog entro a una página que acabo de ver que está cacheada (desde la página de configuración del wp-cache), y sin embargo la vuelve a cachear.
Esto lo sé porque debajo, en el footer, veo la memoria consumida y son 8000 y pico kb.
Luego ya si vuelvo a esa página de nuevo, o doy a refrescar, ya me carga el caché, por lo que me pregunto si wp-caché me está cacheando las páginas de manera individual para cada visitante.
¿Esto es así?, porque si fuera así ¿qué ventaja tiene entonces usar el wp-cache?.
Armonth pero todo esto es estando deslogueado, ¿cómo sabe el wp-cache que soy un usuario registrado?, ¿por la IP?
O sea, yo entro a la página de configuración del wp-cache, veo la lista de páginas cacheadas, me fijo en una que no haya visitado yo mismo, la anoto, me deslogueo y entro a esa página ya cacheada por otro usuario anteriormente, y en vez de enviar el caché me la carga de nuevo.
Hola a todos,
Tengo un par de preguntas para los expertos:
1) Uso en el footer de wordpress la línea: Memoria usada: “.round(memory_get_usage() / 1024,1).” KB de “.round(memory_get_usage(1) / 1024,1).”KB ” -> pero esta me devuelve: “9108.1 KB de 9108.1 KB. ” ¿Es normal que me devuelva ambos valores idénticos?
2) ¿Es normal ese consumo?
Nota:. Estoy usando la versión 2.3.2 de Wordpress. En principio no puedo actualizarla y debo seguir con esa versión por causas de fuerza mayor.
Nota2: Versión de PHP del server dedicado: 5.1.6
A ver si alguien me puede ayudar…
¡Gracias!