<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://blog.psicomante.net" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>il Blog di Psicomante - Drupal e la cache: come funziona - Comments</title>
 <link>http://blog.psicomante.net/drupal-e-la-cache-come-funziona.html</link>
 <description>Comments for &quot;Drupal e la cache: come funziona&quot;</description>
 <language>en</language>
<item>
 <title>Drupal e la cache: come funziona</title>
 <link>http://blog.psicomante.net/drupal-e-la-cache-come-funziona.html</link>
 <description>&lt;p&gt;&lt;em&gt;Premettendo che non mi ritengo un esperto di PHP/MySQL/Sistemi, cerco di spiegare alcune caratteristiche instrinseche di drupal, grazie alle mie conoscenze e alla mia esperienza.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ce ne ho messo di tempo, ma finalmente ho raggiunto una discreta conoscenza del funzionamento della cache in drupal. &lt;a href=&quot;http://drupal.org/node/15367&quot;&gt;La scarsa documentazione&lt;/a&gt; sull&#039;argomento non mi ha certo aiutato, e a me pare più una scienza vodoo che la caratteristica più importante di un sito realizzato con Drupal.&lt;/p&gt;
&lt;p&gt;Urge quindi una spiegazione: &lt;strong&gt;Cos&#039;è la cache?&lt;/strong&gt;&lt;br /&gt;
Spero che tutti sappiano che drupal inserisce in quattro tabelle i dati HTML delle pagine compressi in (gzip?): &lt;em&gt;cache&lt;/em&gt;, &lt;em&gt;cache_filter&lt;/em&gt;, &lt;em&gt;cache_menu&lt;/em&gt;, &lt;em&gt;cache_page&lt;/em&gt;. Ognuna memorizza una parte diversa del sito. &lt;/p&gt;
&lt;p&gt;Su Altervista, invece, la cache non funziona. Come mi diceva TheCrow, Altervista effettua una compressione delle pagine tramite la mod_gzip e drupal fa una cache non dell&#039;HTML, bensì dell&#039;output gzippato. L&#039;output a pagina quindi sarà un flusso gzip non decompresso, che risulta in caratteri incomprensibili (Firefox) e il download di un file (Internet Explorer). Una&lt;a href=&quot;http://drupal.org/node/93314&quot;&gt; patch recentemente rilasciata&lt;/a&gt; potrebbe andare a risolvere il problema. Questa rileva mod_gzip e decomprime l&#039;output prima di inserirlo nella cache.&lt;/p&gt;
&lt;p&gt;Tornando alla questione della performance di un sito Drupal, la cache ha un timelimit expire. Cioè, se impostata ad esempio a 5 minuti, qualunque contenuto inserito/modificato non andrà a modificare la cache, finchè non sono passati 5 minuti dall&#039;ultimo inserimento/modifica nel DB. Quindi ad esempio se un utente anonimo (gli unici di default, ad usare la cache), inserisce un commento, lo vedrà dopo 5 minuti. Impostata a 0 (Nessun timelimit), ad ogni aggiornamento/inserimento/modifica di un nodo/commento verrà ricostruita la cache. Questo ha creato in alcune installazioni, gravi problemi di stabilità del sito, a causa del numero enorme di query che andavano a inserire nel db i dati compressi.&lt;/p&gt;
&lt;p&gt;Quindi usate la &lt;strong&gt;cache Normale&lt;/strong&gt; e possibilmente la &lt;strong&gt;compressione dei CSS&lt;/strong&gt;. La cache aggressiva è molto più performante ma è incompatibile con tutti i moduli che vanno a modificare l&#039;HEAD, aggiungendo ad esempio css, script, xml ed altro. La compressione CSS è utilissima, e consente di accorpare tutti i css usati in uno solo, compresso (senza \n, commenti, etc.). Una nota: la compressione dei CSS funziona solo se avete impostato il trasferimento dei file a pubblico &lt;img src=&quot;/sites/all/modules/smileys/packs/example/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Qualche link interessante su cui discutere (magari sul vostro blog, o nei commenti):&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://drupal.org/node/97347&quot;&gt;Drupal Cache Performance Module List&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://bendiken.net/2006/05/28/static-page-caching-for-drupal&quot;&gt;Static Page Caching for Drupal 4.7 (aggiornabile alla 5)&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://drupal.org/node/144228&quot;&gt;Status update on Drupal.org performance issue&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://drupal.org/node/85768&quot;&gt;Optimize mySQL&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Al prossimo post sulla Cache e sulle performance di Drupal &lt;img src=&quot;/sites/all/modules/smileys/packs/example/lol.png&quot; title=&quot;Laughing out loud&quot; alt=&quot;Laughing out loud&quot; /&gt;&lt;/p&gt;
</description>
 <comments>http://blog.psicomante.net/drupal-e-la-cache-come-funziona.html#comments</comments>
 <category domain="http://blog.psicomante.net/blog/cache">cache</category>
 <category domain="http://blog.psicomante.net/blog/drupal">drupal</category>
 <category domain="http://blog.psicomante.net/blog/italian">italian</category>
 <category domain="http://blog.psicomante.net/blog/performance">performance</category>
 <pubDate>Wed, 16 May 2007 12:52:43 +0200</pubDate>
 <dc:creator>psicomante</dc:creator>
 <guid isPermaLink="false">96 at http://blog.psicomante.net</guid>
</item>
</channel>
</rss>
