<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comentarios en: Cache en WordPress usando el Zend Framework</title>
	<atom:link href="http://www.ingeniuz.com/2007/09/11/cache-en-wordpress-usando-el-zend-framework/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ingeniuz.com/2007/09/11/cache-en-wordpress-usando-el-zend-framework/</link>
	<description>Blog personal de Manuel Cebrián</description>
	<lastBuildDate>Fri, 30 Jul 2010 07:12:50 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Por: Covi</title>
		<link>http://www.ingeniuz.com/2007/09/11/cache-en-wordpress-usando-el-zend-framework/comment-page-1/#comment-6113</link>
		<dc:creator>Covi</dc:creator>
		<pubDate>Wed, 17 Sep 2008 11:30:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.ingeniuz.com/2007/09/11/cache-en-wordpress-usando-el-zend-framework/#comment-6113</guid>
		<description>Respecto al caché... yo actualmente sólo genero un caché estático y de servidor para webservices y xml externos con cron, aunque la web no es ni muy dinámica ni muy estática, tampoco me hace demasiada gracia un sistema de caché completo, pero aún así uso los expires ya que el usuario sigue teniendo el control sobre la caché aunque sea menos eficiente.
Eso, como dice Gorka, junto a salidas comprimidas con php o apache, mejora bastante la cosa obteniendo una buena puntuación con yslow.

El problema es que uso un cutre-sistema propio de caché para esos datos de webservices, no he usado nunca Zend y llevo tiempo queriéndo hacerlo así o con Pear.
Lo cierto es que ahora mismo no sé por dónde cogerlo para simplemente cachear archivos, es decir, no páginas completas y sin saluda alguna al navegador :S

Un saludo, muy interesante toda la entrada y comentarios.</description>
		<content:encoded><![CDATA[<p>Respecto al caché&#8230; yo actualmente sólo genero un caché estático y de servidor para webservices y xml externos con cron, aunque la web no es ni muy dinámica ni muy estática, tampoco me hace demasiada gracia un sistema de caché completo, pero aún así uso los expires ya que el usuario sigue teniendo el control sobre la caché aunque sea menos eficiente.<br />
Eso, como dice Gorka, junto a salidas comprimidas con php o apache, mejora bastante la cosa obteniendo una buena puntuación con yslow.</p>
<p>El problema es que uso un cutre-sistema propio de caché para esos datos de webservices, no he usado nunca Zend y llevo tiempo queriéndo hacerlo así o con Pear.<br />
Lo cierto es que ahora mismo no sé por dónde cogerlo para simplemente cachear archivos, es decir, no páginas completas y sin saluda alguna al navegador :S</p>
<p>Un saludo, muy interesante toda la entrada y comentarios.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Covi</title>
		<link>http://www.ingeniuz.com/2007/09/11/cache-en-wordpress-usando-el-zend-framework/comment-page-1/#comment-6102</link>
		<dc:creator>Covi</dc:creator>
		<pubDate>Mon, 15 Sep 2008 21:52:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.ingeniuz.com/2007/09/11/cache-en-wordpress-usando-el-zend-framework/#comment-6102</guid>
		<description>Respecto lo que comenta Manuel:
Ummm... la verdad que el benchmarking de Apache (ab) me suscita bastantes dudas:

A saber, me ha dado resultados totalmente al contrario de los benchmarks ya clásicos sobre php, sobre todo en las funciones sobre arrays y bucles, y lo cierto por otra parte, es que realmente son más rápidos.

Por ejemplo, los clásicos:
Un array_push o un array_unique según ab son más rápidos y de hecho, como digo, la carga de la página parece ser más rápida... aún así, todas las pruebas habidas y por haber que he encontrado dicen que:
$array[] y array_flip recursivo son menos costosos... oO?

Unas pruebas con una concurrencia de 5 sobre 30 segundos por petición. Mismas respuestas procesadas, etc... Probado en local como online, así que lo dicho, imagino que se tratará del servidor local.

---
Pero mi comentario vienen de haber comprobado que alguien usa el excelente framework de Zend sobre Worpdress con buenos resultados.
En mi opinión... Wordpress necesitaría ya, dado su volumen y perspectivas actuales, un framework porque me da la impresión que se les está atragantando y no creo que WP se pueda considerar como tal si no una colección de librerías.

En cualquier caso llevo mucho tiempo desarrollando un Theme que implemente un &lt;a href=&quot;http://www.laguardiadejaen.com/web/&quot; rel=&quot;nofollow&quot;&gt;CMS para la administración local&lt;/a&gt; y estaba harto de lidiar con el Codex o de currarte funcionalidades propias. Esto me anima a usar el framework de Zend ^^!

Un saludo.</description>
		<content:encoded><![CDATA[<p>Respecto lo que comenta Manuel:<br />
Ummm&#8230; la verdad que el benchmarking de Apache (ab) me suscita bastantes dudas:</p>
<p>A saber, me ha dado resultados totalmente al contrario de los benchmarks ya clásicos sobre php, sobre todo en las funciones sobre arrays y bucles, y lo cierto por otra parte, es que realmente son más rápidos.</p>
<p>Por ejemplo, los clásicos:<br />
Un array_push o un array_unique según ab son más rápidos y de hecho, como digo, la carga de la página parece ser más rápida&#8230; aún así, todas las pruebas habidas y por haber que he encontrado dicen que:<br />
$array[] y array_flip recursivo son menos costosos&#8230; oO?</p>
<p>Unas pruebas con una concurrencia de 5 sobre 30 segundos por petición. Mismas respuestas procesadas, etc&#8230; Probado en local como online, así que lo dicho, imagino que se tratará del servidor local.</p>
<p>&#8212;<br />
Pero mi comentario vienen de haber comprobado que alguien usa el excelente framework de Zend sobre Worpdress con buenos resultados.<br />
En mi opinión&#8230; WordPress necesitaría ya, dado su volumen y perspectivas actuales, un framework porque me da la impresión que se les está atragantando y no creo que WP se pueda considerar como tal si no una colección de librerías.</p>
<p>En cualquier caso llevo mucho tiempo desarrollando un Theme que implemente un <a href="http://www.laguardiadejaen.com/web/" rel="nofollow">CMS para la administración local</a> y estaba harto de lidiar con el Codex o de currarte funcionalidades propias. Esto me anima a usar el framework de Zend ^^!</p>
<p>Un saludo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gorka</title>
		<link>http://www.ingeniuz.com/2007/09/11/cache-en-wordpress-usando-el-zend-framework/comment-page-1/#comment-3354</link>
		<dc:creator>Gorka</dc:creator>
		<pubDate>Sun, 18 Nov 2007 10:40:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.ingeniuz.com/2007/09/11/cache-en-wordpress-usando-el-zend-framework/#comment-3354</guid>
		<description>En cochez.es estuvimos probando el wp-cache y no nos convenció, ya que a pesar de ganar rendimiento, si un usuario añade un anuncio de coche no sería muy útil que se viera 6 horas después. Por eso probamos con el mod_deflate y el rendimiento mejoró incluso más que con el wp-cache.

Es decir, simplemente añadimos en el .htaccess la siguientes lineas:
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

Y así no tocamos nada más.</description>
		<content:encoded><![CDATA[<p>En cochez.es estuvimos probando el wp-cache y no nos convenció, ya que a pesar de ganar rendimiento, si un usuario añade un anuncio de coche no sería muy útil que se viera 6 horas después. Por eso probamos con el mod_deflate y el rendimiento mejoró incluso más que con el wp-cache.</p>
<p>Es decir, simplemente añadimos en el .htaccess la siguientes lineas:<br />
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css<br />
BrowserMatch ^Mozilla/4 gzip-only-text/html<br />
BrowserMatch ^Mozilla/4\.0[678] no-gzip<br />
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html</p>
<p>Y así no tocamos nada más.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Armonth</title>
		<link>http://www.ingeniuz.com/2007/09/11/cache-en-wordpress-usando-el-zend-framework/comment-page-1/#comment-2837</link>
		<dc:creator>Armonth</dc:creator>
		<pubDate>Thu, 11 Oct 2007 18:47:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.ingeniuz.com/2007/09/11/cache-en-wordpress-usando-el-zend-framework/#comment-2837</guid>
		<description>Hola de nuevo, efectivamente el Zend sale ganando aunque por muy poco (7.2 peticiones/seg frente a 7.0 peticiones/seg). Ahora que me fijo le veo tres problemas ahí que deberías tener en cuenta:

* La lista de ficheros a cachear hay que ir actualizándola (por ejemplo habrá que añadir 2008 cuando llegue el año).
* La cache no se refresca con los nuevos comentarios hasta pasadas las 6 horas.
* No has incluido los feeds (muy importante)

Nota: si la página está cacheada con WP-Cache, tampoco se llega a entrar en el código de WordPress (el WP-Cache lo intercepta antes de que se haga todo lo que dices). Dos pruebas de ello son:

* Una página puede llegar a gastar 6MB de RAM desde que se carga el script hasta que la página es generada y enviada. Con WP-Cache eso baja a 150KB...
* Cualquier función de WP no puede ser usada de forma dinámica en la página cacheada (ya que al no cargarse el WP tampoco se cargan esas funciones).

En cualquier caso, la idea es lo suficiente genérica como para poder ponerla en práctica en otros sitios que no tienen un sistema de cache propio.</description>
		<content:encoded><![CDATA[<p>Hola de nuevo, efectivamente el Zend sale ganando aunque por muy poco (7.2 peticiones/seg frente a 7.0 peticiones/seg). Ahora que me fijo le veo tres problemas ahí que deberías tener en cuenta:</p>
<p>* La lista de ficheros a cachear hay que ir actualizándola (por ejemplo habrá que añadir 2008 cuando llegue el año).<br />
* La cache no se refresca con los nuevos comentarios hasta pasadas las 6 horas.<br />
* No has incluido los feeds (muy importante)</p>
<p>Nota: si la página está cacheada con WP-Cache, tampoco se llega a entrar en el código de WordPress (el WP-Cache lo intercepta antes de que se haga todo lo que dices). Dos pruebas de ello son:</p>
<p>* Una página puede llegar a gastar 6MB de RAM desde que se carga el script hasta que la página es generada y enviada. Con WP-Cache eso baja a 150KB&#8230;<br />
* Cualquier función de WP no puede ser usada de forma dinámica en la página cacheada (ya que al no cargarse el WP tampoco se cargan esas funciones).</p>
<p>En cualquier caso, la idea es lo suficiente genérica como para poder ponerla en práctica en otros sitios que no tienen un sistema de cache propio.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: manuel</title>
		<link>http://www.ingeniuz.com/2007/09/11/cache-en-wordpress-usando-el-zend-framework/comment-page-1/#comment-2716</link>
		<dc:creator>manuel</dc:creator>
		<pubDate>Wed, 12 Sep 2007 07:29:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.ingeniuz.com/2007/09/11/cache-en-wordpress-usando-el-zend-framework/#comment-2716</guid>
		<description>&lt;p&gt;con Zend Framework&lt;br /&gt;
-----------------------------------------------------------&lt;br /&gt;
Benchmarking www.ingeniuz.com (be patient)&lt;br /&gt;
Finished 72 requests&lt;/p&gt;
&lt;p&gt;Server Software:        Apache/1.3.37&lt;br /&gt;
Server Hostname:        www.ingeniuz.com&lt;br /&gt;
Server Port:            80&lt;/p&gt;
&lt;p&gt;Document Path:          /&lt;br /&gt;
Document Length:        36747 bytes&lt;/p&gt;
&lt;p&gt;Concurrency Level:      10&lt;br /&gt;
Time taken for tests:   10.1976 seconds&lt;br /&gt;
Complete requests:      72&lt;br /&gt;
Failed requests:        0&lt;br /&gt;
Write errors:           0&lt;br /&gt;
Total transferred:      2782554 bytes&lt;br /&gt;
HTML transferred:       2760726 bytes&lt;br /&gt;
Requests per second:    7.20 [#/sec] (mean)&lt;br /&gt;
Time per request:       1389.163 [ms] (mean)&lt;br /&gt;
Time per request:       138.916 [ms] (mean, across all concurrent requests)&lt;br /&gt;
Transfer rate:          271.65 [Kbytes/sec] received&lt;/p&gt;
&lt;p&gt;Connection Times (ms)&lt;br /&gt;
              min  mean[+/-sd] median   max&lt;br /&gt;
Connect:       59  192  70.9    223     277&lt;br /&gt;
Processing:   820 1100 361.5    945    2304&lt;br /&gt;
Waiting:      186  456 418.3    267    1768&lt;br /&gt;
Total:        897 1292 312.2   1181    2363&lt;/p&gt;
&lt;p&gt;Percentage of the requests served within a certain time (ms)&lt;br /&gt;
  50%   1181&lt;br /&gt;
  66%   1183&lt;br /&gt;
  75%   1238&lt;br /&gt;
  80%   1310&lt;br /&gt;
  90%   1740&lt;br /&gt;
  95%   2252&lt;br /&gt;
  98%   2320&lt;br /&gt;
  99%   2363&lt;br /&gt;
 100%   2363 (longest request)&lt;/p&gt;


&lt;p style=&quot;margin-top:3em&quot;&gt;Con Wp-Cache&lt;br /&gt;
---------------------------------------------&lt;br /&gt;
Benchmarking www.ingeniuz.com (be patient)&lt;br /&gt;
Finished 70 requests&lt;/p&gt;
&lt;p&gt;Server Software:        Apache/1.3.37&lt;br /&gt;
Server Hostname:        www.ingeniuz.com&lt;br /&gt;
Server Port:            80&lt;/p&gt;
&lt;p&gt;Document Path:          /&lt;br /&gt;
Document Length:        36801 bytes&lt;/p&gt;
&lt;p&gt;Concurrency Level:      10&lt;br /&gt;
Time taken for tests:   10.1993 seconds&lt;br /&gt;
Complete requests:      70&lt;br /&gt;
Failed requests:        60&lt;br /&gt;
   (Connect: 0, Length: 60, Exceptions: 0)&lt;br /&gt;
Write errors:           0&lt;br /&gt;
Total transferred:      2673042 bytes&lt;br /&gt;
HTML transferred:       2644166 bytes&lt;br /&gt;
Requests per second:    7.00 [#/sec] (mean)&lt;br /&gt;
Time per request:       1428.856 [ms] (mean)&lt;br /&gt;
Time per request:       142.886 [ms] (mean, across all concurrent requests)&lt;br /&gt;
Transfer rate:          260.95 [Kbytes/sec] received&lt;/p&gt;
&lt;p&gt;Connection Times (ms)&lt;br /&gt;
              min  mean[+/-sd] median   max&lt;br /&gt;
Connect:       57  194  67.9    213     304&lt;br /&gt;
Processing:   276 1160 671.2    973    3456&lt;br /&gt;
Waiting:       71  499 680.8    252    2706&lt;br /&gt;
Total:        339 1354 637.6   1187    3546&lt;/p&gt;
&lt;p&gt;Percentage of the requests served within a certain time (ms)&lt;br /&gt;
  50%   1187&lt;br /&gt;
  66%   1187&lt;br /&gt;
  75%   1187&lt;br /&gt;
  80%   1187&lt;br /&gt;
  90%   2521&lt;br /&gt;
  95%   2901&lt;br /&gt;
  98%   3495&lt;br /&gt;
  99%   3546&lt;br /&gt;
 100%   3546 (longest request)&lt;/p&gt;

&lt;p&gt;
La verdad es que es la primera vez que uso Apache Benchmark y no sé interpretar del todo bien los resultados, pero a mí me parece que el Zend Framework sale ganando. Cosa que me parece lógica, ya que no llega a entrar en el codigo de Wordpress, evitando así cientos de includes y otros cálculos.
&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>con Zend Framework<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Benchmarking <a href="http://www.ingeniuz.com" rel="nofollow">http://www.ingeniuz.com</a> (be patient)<br />
Finished 72 requests</p>
<p>Server Software:        Apache/1.3.37<br />
Server Hostname:        <a href="http://www.ingeniuz.com" rel="nofollow">http://www.ingeniuz.com</a><br />
Server Port:            80</p>
<p>Document Path:          /<br />
Document Length:        36747 bytes</p>
<p>Concurrency Level:      10<br />
Time taken for tests:   10.1976 seconds<br />
Complete requests:      72<br />
Failed requests:        0<br />
Write errors:           0<br />
Total transferred:      2782554 bytes<br />
HTML transferred:       2760726 bytes<br />
Requests per second:    7.20 [#/sec] (mean)<br />
Time per request:       1389.163 [ms] (mean)<br />
Time per request:       138.916 [ms] (mean, across all concurrent requests)<br />
Transfer rate:          271.65 [Kbytes/sec] received</p>
<p>Connection Times (ms)<br />
              min  mean[+/-sd] median   max<br />
Connect:       59  192  70.9    223     277<br />
Processing:   820 1100 361.5    945    2304<br />
Waiting:      186  456 418.3    267    1768<br />
Total:        897 1292 312.2   1181    2363</p>
<p>Percentage of the requests served within a certain time (ms)<br />
  50%   1181<br />
  66%   1183<br />
  75%   1238<br />
  80%   1310<br />
  90%   1740<br />
  95%   2252<br />
  98%   2320<br />
  99%   2363<br />
 100%   2363 (longest request)</p>
<p style="margin-top:3em">Con Wp-Cache<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Benchmarking <a href="http://www.ingeniuz.com" rel="nofollow">http://www.ingeniuz.com</a> (be patient)<br />
Finished 70 requests</p>
<p>Server Software:        Apache/1.3.37<br />
Server Hostname:        <a href="http://www.ingeniuz.com" rel="nofollow">http://www.ingeniuz.com</a><br />
Server Port:            80</p>
<p>Document Path:          /<br />
Document Length:        36801 bytes</p>
<p>Concurrency Level:      10<br />
Time taken for tests:   10.1993 seconds<br />
Complete requests:      70<br />
Failed requests:        60<br />
   (Connect: 0, Length: 60, Exceptions: 0)<br />
Write errors:           0<br />
Total transferred:      2673042 bytes<br />
HTML transferred:       2644166 bytes<br />
Requests per second:    7.00 [#/sec] (mean)<br />
Time per request:       1428.856 [ms] (mean)<br />
Time per request:       142.886 [ms] (mean, across all concurrent requests)<br />
Transfer rate:          260.95 [Kbytes/sec] received</p>
<p>Connection Times (ms)<br />
              min  mean[+/-sd] median   max<br />
Connect:       57  194  67.9    213     304<br />
Processing:   276 1160 671.2    973    3456<br />
Waiting:       71  499 680.8    252    2706<br />
Total:        339 1354 637.6   1187    3546</p>
<p>Percentage of the requests served within a certain time (ms)<br />
  50%   1187<br />
  66%   1187<br />
  75%   1187<br />
  80%   1187<br />
  90%   2521<br />
  95%   2901<br />
  98%   3495<br />
  99%   3546<br />
 100%   3546 (longest request)</p>
<p>
La verdad es que es la primera vez que uso Apache Benchmark y no sé interpretar del todo bien los resultados, pero a mí me parece que el Zend Framework sale ganando. Cosa que me parece lógica, ya que no llega a entrar en el codigo de WordPress, evitando así cientos de includes y otros cálculos.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Armonth</title>
		<link>http://www.ingeniuz.com/2007/09/11/cache-en-wordpress-usando-el-zend-framework/comment-page-1/#comment-2714</link>
		<dc:creator>Armonth</dc:creator>
		<pubDate>Tue, 11 Sep 2007 16:34:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.ingeniuz.com/2007/09/11/cache-en-wordpress-usando-el-zend-framework/#comment-2714</guid>
		<description>Muy interesante Manuel, ahora la pregunta es ¿qué diferencia de consumo real hay frente a WP-Cache? Por ejemplo el número de peticiones que puedes realizar por segundo compárandolo con WP-Cache.

Una forma simple de verlo es con Apache Benchmark:

/usr/sbin/ab -t 10 -c 10 url

Si pudieras comparar dos escenarios (uno sin el Zend pero con WP-Cache y otro con el Zend y sin WP-Cache) a ver qué tal...

PD: quizá te interese probar APC/eAccelerator para rematar la faena.</description>
		<content:encoded><![CDATA[<p>Muy interesante Manuel, ahora la pregunta es ¿qué diferencia de consumo real hay frente a WP-Cache? Por ejemplo el número de peticiones que puedes realizar por segundo compárandolo con WP-Cache.</p>
<p>Una forma simple de verlo es con Apache Benchmark:</p>
<p>/usr/sbin/ab -t 10 -c 10 url</p>
<p>Si pudieras comparar dos escenarios (uno sin el Zend pero con WP-Cache y otro con el Zend y sin WP-Cache) a ver qué tal&#8230;</p>
<p>PD: quizá te interese probar APC/eAccelerator para rematar la faena.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
