<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ars Longa, Vita Brevis &#187; WP File Cache</title>
	<atom:link href="http://blog.sjinks.pro/tag/wp-file-cache/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sjinks.pro</link>
	<description>Quod scripsi, scripsi</description>
	<lastBuildDate>Mon, 06 Feb 2012 17:56:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SJ Object Cache: еще более быстрое объектное кэширование для WordPress</title>
		<link>http://blog.sjinks.pro/wordpress/plugins/776-sj-object-cache-faster-object-cache-for-wordpress/</link>
		<comments>http://blog.sjinks.pro/wordpress/plugins/776-sj-object-cache-faster-object-cache-for-wordpress/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 06:34:35 +0000</pubDate>
		<dc:creator>Vladimir</dc:creator>
				<category><![CDATA[Плагины WordPress]]></category>
		<category><![CDATA[APC]]></category>
		<category><![CDATA[eAccelerator]]></category>
		<category><![CDATA[Memcache]]></category>
		<category><![CDATA[Memcached]]></category>
		<category><![CDATA[SJ Object Cache]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP File Cache]]></category>
		<category><![CDATA[xCache]]></category>
		<category><![CDATA[кэш]]></category>
		<category><![CDATA[плагин]]></category>

		<guid isPermaLink="false">http://blog.sjinks.pro/?p=776</guid>
		<description><![CDATA[Делаем WordPress еще быстрее После года тестирования наконец-то вышла первая стабильная версия плагина SJ Object Cache. SJ Object Cache — альтернатива плагину WP File Cache, поддерживающая APC, eAccelerator, xCache, Zend Disk Cache, Zend Shared Memory Cache, memcache и memcached. В отличие от WP File Cache, SJ Object Cache ориентирован на VPS/VDS и выделенные сервера. Одним из недостатков [...]<p>© 2012 <a href="http://blog.sjinks.pro">Ars Longa, Vita Brevis</a>. Все права защищены. Перепубликация материалов без разрешения автора запрещена.</p>
<p>При использовании материалов блога наличие активной не закрытой от индексирования ссылки на <a href="http://blog.sjinks.pro/wordpress/plugins/776-sj-object-cache-faster-object-cache-for-wordpress/">источник</a> обязательно.</p>]]></description>
			<content:encoded><![CDATA[<h2><em>Делаем <a href="http://blog.sjinks.pro/tag/wordpress/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  WordPress">WordPress</a> еще быстрее</em></h2>
<p>После года тестирования наконец-то вышла первая стабильная версия плагина <a href="http://blog.sjinks.pro/tag/sj-object-cache/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  SJ Object Cache">SJ Object Cache</a>.</p>
<p>SJ Object Cache — альтернатива плагину <a href="http://blog.sjinks.pro/tag/wp-file-cache/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  WP File Cache">WP File Cache</a>, поддерживающая <a href="http://blog.sjinks.pro/tag/apc/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  APC">APC</a>, <a href="http://blog.sjinks.pro/tag/eaccelerator/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  eAccelerator">eAccelerator</a>, <a href="http://blog.sjinks.pro/tag/xcache/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  xCache">xCache</a>, Zend Disk Cache, Zend Shared Memory Cache, <a href="http://blog.sjinks.pro/tag/memcache/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  Memcache">memcache</a> и <a href="http://blog.sjinks.pro/tag/memcached/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  Memcached">memcached</a>.</p>
<p><strong>В отличие от WP File Cache, SJ Object Cache ориентирован на VPS/VDS и выделенные сервера.</strong><br />
<span id="more-776"></span></p>
<p>Одним из недостатков WP File Cache является то, что он смещает нагрузку с базы данных на файловую систему. Хотя это может быть не сильно критично для <em>хорошего</em> shared-хостинга, на виртуальных серверах и серверах со слабой дисковой подсистемой это может быть критично (виртуализация очень часто негативно сказывается на скорости ввода/вывода, в результате процессор может проводить много времени в ожидании окончания ввода/вывода). Вдобавок ко всему при включённом <code>open_basedir</code> файловые операции осуществляются медленнее из-за лишних проверок (привет всем, использующим Plesk).</p>
<p>Решением данной проблемы является использование разделяемой памяти (shared memory). Так как многие администраторы для повышения производительности ставят на выделенных серверах акселераторы (APC, xCache, eAccelerator), SJ Object Cache использует их интерфейс (API) для работы с выделенной памятью.</p>
<h3>Функциональность SJ Object Cache</h3>
<ul>
<li>реализация долговременного кэширования на уровне запросов;</li>
<li>возможность отключения кэширования (в том числе и встроенного в WordPress);</li>
<li>возможность отключения межсессионного кэширования;</li>
<li>полная совместимость с интерфейсом класса WP_Object_Cache WordPress;</li>
<li>использование памяти под сессионный <a href="http://blog.sjinks.pro/tag/cache/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  кэш">кэш</a> для увеличения производительности;</li>
<li>сессионное кэширование часто изменяющихся объектов;</li>
<li>возможность задания групп, не подлежащих межсессионному кэшированию (может быть полезно для <a href="http://wordpress.org/support/topic/364580?replies=3">обеспечения совместимости со сторонними плагинами</a>);</li>
<li>модульная архитектура, позволяющая добавлять новые кэширующие движки;</li>
<li>хранение настроек в коде плагина.</li>
</ul>
<h3>Кэширующие движки</h3>
<ul>
<li>Base Cache — аналог объектного кэша WordPress без возможности сохранения данных между сессиями; по тестам показывает чуть большую <a href="http://blog.sjinks.pro/tag/performance/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  производительность">производительность</a>, чем встроенный в WordPress кэш;</li>
<li><a href="http://ua2.php.net/manual/en/book.apc.php">Alternative PHP Cache</a> (APC);</li>
<li><a href="http://www.eaccelerator.net/">eAccelerator</a> (<strong>внимание:</strong> eAccelerator 0.9.6 не поддерживается, так как из него <a href="http://www.eaccelerator.net/wiki/Release-0.9.6">убрали</a> функции кэширования пользовательских данных);</li>
<li><a href="http://xcache.lighttpd.net/">xCache</a></li>
<li>Zend Disk/Shared Memory Cache (<strong>данный движок не тестировался, но работать должен</strong>);</li>
<li>File Cache — модифицированная версия движка WP File Cache;</li>
<li>File Group Cache — модифицированная версия File Cache, оптимизированная под слабую дисковую подсистему (при доступе к кэшу читается сразу вся группа, что приводит к минимизации числа обращений к диску и увеличению объема потребляемой памяти);</li>
<li><a href="http://php.net/manual/en/book.memcache.php">Memcache</a>;</li>
<li><a href="http://php.net/manual/en/book.memcached.php">Memcached</a>;</li>
<li>Версия 1.2 плагина полностью совместима с WordPress 3.x (в том числе с 3.1).</li>
</ul>
<h3>Замечания по установке</h3>
<p>Плагину при активации/сохранении настроек должен быть доступен на запись каталог <code>wp-content</code>: в него копируется файл <code>object-cache.php</code>.</p>
<p>В настройках акселератора (APC, eAccelerator, xCache) нужно отвести достаточно места под пользовательский кэш. WordPress весьма прожорлив!</p>
<p><strong>Настройки, контролирующие размер кэша APC:</strong> <a href="http://ua2.php.net/manual/en/apc.configuration.php#ini.apc.shm-segments"><code>apc.shm_segments</code></a>, <a href="http://ua2.php.net/manual/en/apc.configuration.php#ini.apc.shm-size">apc.shm_size</a>.</p>
<p><strong>Настройки, контролирующие размер кэша xCache:</strong> <a href="http://xcache.lighttpd.net/wiki/XcacheIni"><code>xcache.var_size</code></a>. xCache — единственный из трёх рассматриваемых акселераторов, имеющий раздельные кэши для опкода и пользовательских данных.</p>
<p><strong>Настройки, контролирующие размер кэша eAccelerator:</strong> <a href="http://www.eaccelerator.net/wiki/Settings"><code>eaccelerator.shm_size</code></a>.</p>
<p>Для APC и eAccelerator размер кэша должен учитывать кэш опкода. По скромным подсчётам, WordPress 2.9.2 без плагинов (PHP 5.1.22, amd-64) занимает порядка десяти мегабайт. Для настройки размера кэша очень рекомендую воспользоваться утилитами, входящими в дистрибутив акселератора: они позволяют оценить объем занятой памяти, фрагментации кэша и просматривать различную статистику. Если с первого раза оптимальный размер кэша подобрать не удаётся, это нормально <img src='http://static.sjinks.info/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong>Memcache и Memcached</strong> требуют наличия установленных расширений PHP из PECL (<a href="http://pecl.php.net/package/memcache">Memcache</a> и <a href="http://pecl.php.net/package/memcached">Memcached</a> соответственно).</p>
<p>На данном сервере (пять разных WordPress с разным наборов плагинов (SJ Object Cache настроен на трёх из них), три Simple Machines Forum, куча всего по мелочи, <del datetime="2010-10-14T06:26:44+00:00">кэш eAccelerator для хранения сессий</del>) размер кэша колеблется в пределах 128–192 мегабайт. Север выдерживает больше тысячи одновременных посетителей, порядка 100,000 посетителей в сутки и генерирует в среднем 64 гигабайта трафика в сутки — и это безо всяких страничных кэшей типа WP Super Cache, Hyper Cache, W3 Total Cache, MaxSite Cache и т.п. Не без напильника, но тем не менее.</p>
<h3>Удаление/деактивация плагина</h3>
<p>Для успешной деактивации каталог <code>wp-content</code> должен быть доступен на запись — требуется удаление файла <code>wp-content/object-cache.php</code>.</p>
<p>Для версии 1.2 плагина на запись должен быть доступен каталог плагина — настройки плагина теперь хранятся в файле <code>options.php</code> (специально для тех, кто не хотел держать <code>wp-content</code> открытым на запись).</p>
<p><strong><a href="http://d.sjinks.pro/wordpress/sj-object-cache-1.0.zip" rel="nofollow">Скачать SJ Object Cache 1.0</a>.</strong><br />
<strong><a href="http://d.sjinks.pro/wordpress/sj-object-cache-1.1.zip" rel="nofollow">Экспериментальная версия SJ Object Cache 1.1 с поддержкой WordPress MU</a>.</strong><br />
<strong><a href="http://d.sjinks.pro/wordpress/sj-object-cache-1.2.zip" rel="nofollow">Экспериментальная версия SJ Object Cache 1.2 с поддержкой Memcache/Memcached</a></strong></p>
<p>© 2012 <a href="http://blog.sjinks.pro">Ars Longa, Vita Brevis</a>. Все права защищены. Перепубликация материалов без разрешения автора запрещена.</p>
<p>При использовании материалов блога наличие активной не закрытой от индексирования ссылки на <a href="http://blog.sjinks.pro/wordpress/plugins/776-sj-object-cache-faster-object-cache-for-wordpress/">источник</a> обязательно.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.sjinks.pro/wordpress/plugins/776-sj-object-cache-faster-object-cache-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>157</slash:comments>
		</item>
		<item>
		<title>WP File Cache 1.2.1</title>
		<link>http://blog.sjinks.pro/wordpress/plugins/750-wp-file-cache-1-2-1/</link>
		<comments>http://blog.sjinks.pro/wordpress/plugins/750-wp-file-cache-1-2-1/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 13:51:26 +0000</pubDate>
		<dc:creator>Vladimir</dc:creator>
				<category><![CDATA[Плагины WordPress]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP File Cache]]></category>
		<category><![CDATA[кэш]]></category>
		<category><![CDATA[плагин]]></category>

		<guid isPermaLink="false">http://blog.sjinks.pro/?p=750</guid>
		<description><![CDATA[Теперь точно последний :-) Я нарушил своё обещание и написал новую версию плагина WP File Cache — 1.2.1. Но эта версия будет последней (скорее всего). Что изменилось: оптимизирован PHP-код, ускорена работа методов класса FileCache (лишние проверки перенесены в функции wp_cache_xxx, что позволило избежать повторного исполнения одного и того же кода); блокировка файла при записи; плагин требует PHP [...]<p>© 2012 <a href="http://blog.sjinks.pro">Ars Longa, Vita Brevis</a>. Все права защищены. Перепубликация материалов без разрешения автора запрещена.</p>
<p>При использовании материалов блога наличие активной не закрытой от индексирования ссылки на <a href="http://blog.sjinks.pro/wordpress/plugins/750-wp-file-cache-1-2-1/">источник</a> обязательно.</p>]]></description>
			<content:encoded><![CDATA[<h2><em>Теперь точно последний :-)</em></h2>
<p>Я нарушил <a href="http://blog.sjinks.pro/wordpress/plugins/738-wp-file-cache-1-1/">своё обещание</a> и написал новую версию плагина <a href="http://blog.sjinks.pro/tag/wp-file-cache/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  WP File Cache">WP File Cache</a> — 1.2.1. Но эта версия будет последней (скорее всего).<span id="more-750"></span></p>
<p>Что изменилось:</p>
<ul>
<li>оптимизирован PHP-код, ускорена работа методов класса <code>FileCache</code> (лишние проверки перенесены в функции <code>wp_cache_xxx</code>, что позволило избежать повторного исполнения одного и того же кода);</li>
<li>блокировка файла при записи;</li>
<li><a href="http://blog.sjinks.pro/tag/plugin/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  плагин">плагин</a> требует PHP версии не ниже 5.1.0;</li>
<li>добавлена совместимость с WP 2.6;</li>
<li>запись файла стала чуть быстрее;</li>
<li>плагин не убьёт <a href="http://blog.sjinks.pro/tag/wordpress/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  WordPress">WordPress</a>, если каталог <code>wp-content/plugins/file-cache</code> удалён, а <code>wp-content/object-cache.php</code> по тем или иным причинам остался.</li>
</ul>
<p><strong><a href="http://wordpress.org/extend/plugins/wp-file-cache/">Скачать плагин WP File Cache</a></strong></p>
<p>Большое спасибо <a href="http://www.aboutall.name/">Алексею Лободину</a> за тестирование!</p>
<p>© 2012 <a href="http://blog.sjinks.pro">Ars Longa, Vita Brevis</a>. Все права защищены. Перепубликация материалов без разрешения автора запрещена.</p>
<p>При использовании материалов блога наличие активной не закрытой от индексирования ссылки на <a href="http://blog.sjinks.pro/wordpress/plugins/750-wp-file-cache-1-2-1/">источник</a> обязательно.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.sjinks.pro/wordpress/plugins/750-wp-file-cache-1-2-1/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
		<item>
		<title>WP File Cache 1.1</title>
		<link>http://blog.sjinks.pro/wordpress/plugins/738-wp-file-cache-1-1/</link>
		<comments>http://blog.sjinks.pro/wordpress/plugins/738-wp-file-cache-1-1/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 19:59:19 +0000</pubDate>
		<dc:creator>Vladimir</dc:creator>
				<category><![CDATA[Плагины WordPress]]></category>
		<category><![CDATA[SJ Object Cache]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP File Cache]]></category>
		<category><![CDATA[кэш]]></category>
		<category><![CDATA[плагин]]></category>

		<guid isPermaLink="false">http://blog.sjinks.pro/?p=738</guid>
		<description><![CDATA[Релиз, исправляющий критическую ошибку Тихо и незаметно вышел плагин WP File Cache 1.1. В плагине исправлена серьёзная плавающая ошибка в методе FileCache::get(). Всем тем, кто использует данный плагин, очень рекомендую обновиться. Скачать плагин WP File Cache 1.1 Еще есть две новости: Версия 1.1 — это последний релиз плагина WP File Cache. Обновлений больше не будет. Le Roi Est Mort, Vive [...]<p>© 2012 <a href="http://blog.sjinks.pro">Ars Longa, Vita Brevis</a>. Все права защищены. Перепубликация материалов без разрешения автора запрещена.</p>
<p>При использовании материалов блога наличие активной не закрытой от индексирования ссылки на <a href="http://blog.sjinks.pro/wordpress/plugins/738-wp-file-cache-1-1/">источник</a> обязательно.</p>]]></description>
			<content:encoded><![CDATA[<h2><em>Релиз, исправляющий критическую ошибку</em></h2>
<p>Тихо и незаметно вышел <a href="http://blog.sjinks.pro/tag/plugin/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  плагин">плагин</a> <a href="http://blog.sjinks.pro/tag/wp-file-cache/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  WP File Cache">WP File Cache</a> 1.1. В плагине исправлена серьёзная плавающая ошибка в методе <span class="codebox"><code class="php">FileCache<span class="sy0">::</span><span class="me2">get</span><span class="br0">&#40;</span><span class="br0">&#41;</span></code></span>. Всем тем, кто использует данный плагин, очень рекомендую обновиться.</p>
<p><strong><a href="http://wordpress.org/extend/plugins/wp-file-cache/">Скачать плагин WP File Cache 1.1</a></strong><span id="more-738"></span></p>
<p>Еще есть две новости:</p>
<ol>
<li>Версия 1.1 — это последний релиз плагина WP File Cache. Обновлений больше не будет.</li>
<li>Le Roi Est Mort, Vive Le Roi — на смену WP File Cache придёт другой плагин — <a href="http://blog.sjinks.pro/tag/sj-object-cache/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  SJ Object Cache">SJ Object Cache</a> (плагин сейчас в стадии Release Candidate и уже установлен на нескольких боевых серверах).<br />
Некоторые вкусности плагина:
<ul>
<li>поддержка различных модулей кэширования; в частности, плагин умеет работать с <a href="http://blog.sjinks.pro/tag/apc/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  APC">APC</a>, <a href="http://blog.sjinks.pro/tag/xcache/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  xCache">xCache</a>, <a href="http://blog.sjinks.pro/tag/eaccelerator/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  eAccelerator">eAccelerator</a>, реализована экспериментальная поддержка Zend Disk Cache и Zend Shared Memory Cache;</li>
<li>файловое кэширование — основано на ядре WP File Cache;</li>
<li>экспериментальное групповое кэширование (для eAccelerator, xCache и файловой системы) — уменьшение количества обращений к хранилищу за счёт чтения/записи группы ключей;</li>
<li>возможность задания максимального времени жизни кэша;</li>
<li>как всегда, <strong>абсолютно бесплатно</strong>.</li>
</ul>
</li>
</ol>
<p>Не пропустите <img src='http://static.sjinks.info/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>PS — если кто хочет попробовать SJ Object Cache до официального релиза, <del datetime="2010-01-03T19:15:27+00:00">пишите</del> <ins datetime="2010-01-03T19:15:27+00:00"><strong>скачать можно <a href="http://d.sjinks.pro/wordpress/sj-object-cache-1.0RC5.zip">отсюда</a></strong></ins>.</p>
<p>© 2012 <a href="http://blog.sjinks.pro">Ars Longa, Vita Brevis</a>. Все права защищены. Перепубликация материалов без разрешения автора запрещена.</p>
<p>При использовании материалов блога наличие активной не закрытой от индексирования ссылки на <a href="http://blog.sjinks.pro/wordpress/plugins/738-wp-file-cache-1-1/">источник</a> обязательно.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.sjinks.pro/wordpress/plugins/738-wp-file-cache-1-1/feed/</wfw:commentRss>
		<slash:comments>70</slash:comments>
		</item>
		<item>
		<title>WP File Cache 1.0</title>
		<link>http://blog.sjinks.pro/wordpress/plugins/420-wp-file-cache-10/</link>
		<comments>http://blog.sjinks.pro/wordpress/plugins/420-wp-file-cache-10/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 11:47:50 +0000</pubDate>
		<dc:creator>Vladimir</dc:creator>
				<category><![CDATA[Плагины WordPress]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP File Cache]]></category>
		<category><![CDATA[кэш]]></category>
		<category><![CDATA[плагин]]></category>
		<category><![CDATA[производительность]]></category>

		<guid isPermaLink="false">http://blog.sjinks.pro/?p=420</guid>
		<description><![CDATA[Увеличиваем производительность WordPress в один клик Появилась новая версия плагина WP File Cache. В данной версии у плагина появился интерфейс для администратора и, как следствие, возможность &#171;тонкой настройки&#187;. Функциональность плагина: реализация долговременного кэширования на уровне запросов; полная совместимость с интерфейсом класса WP_Object_Cache WordPress; использование памяти под сессионный кэш для увеличения производительности; сессионное кэширование часто изменяющихся [...]<p>© 2012 <a href="http://blog.sjinks.pro">Ars Longa, Vita Brevis</a>. Все права защищены. Перепубликация материалов без разрешения автора запрещена.</p>
<p>При использовании материалов блога наличие активной не закрытой от индексирования ссылки на <a href="http://blog.sjinks.pro/wordpress/plugins/420-wp-file-cache-10/">источник</a> обязательно.</p>]]></description>
			<content:encoded><![CDATA[<h2><em>Увеличиваем <a href="http://blog.sjinks.pro/tag/performance/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  производительность">производительность</a> <a href="http://blog.sjinks.pro/tag/wordpress/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  WordPress">WordPress</a> в один клик</em></h2>
<p>Появилась новая версия плагина <strong><a href="http://blog.sjinks.pro/wordpress/plugins/190-wp-file-cache-replacement-for-wp_object_cache-with-persistent-caching/">WP File Cache</a></strong>.</p>
<p>В данной версии у плагина появился интерфейс для администратора и, как следствие, возможность &laquo;тонкой настройки&raquo;.</p>
<p><strong>Функциональность плагина:</strong></p>
<ul>
<li>реализация долговременного кэширования на уровне запросов;</li>
<li>полная совместимость с интерфейсом класса WP_Object_Cache WordPress;</li>
<li>использование памяти под сессионный <a href="http://blog.sjinks.pro/tag/cache/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  кэш">кэш</a> для увеличения производительности;</li>
<li>сессионное кэширование часто изменяющихся объектов;</li>
<li>хранение настроек в коде плагина.</li>
</ul>
<p><strong>Особенности плагина:</strong></p>
<ul>
<li>возможность отключения кэширования (в том числе и встроенного в WordPress);</li>
<li>возможность отключения межсессионного кэширования;</li>
<li>возможность задания групп, не подлежащих межсессионному кэшированию (полезно только разработчикам, которые знают, о чём идёт речь);</li>
<li><a href="http://blog.sjinks.pro/tag/plugin/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  плагин">плагин</a> хранит свои настройки непосредственно в коде (в файле <code>wp-content/object-cache.php</code>). Это связано с проблемой курицы и яйца, а также с <a href="http://blog.sjinks.pro/wordpress/410-monstrosa-horribilis/">архитектурными особенностями WordPress</a>.</li>
</ul>
<p>Плагин существует в двух локализациях: русской и английской. Если у Вас есть желание перевести плагин на другой язык, пишите.</p>
<p><strong>Замечания по установке:</strong> после активации плагин для хранения кэша будет использовать каталог <code>wp-content/plugins/file-cache/cache</code>. Поэтому <strong>перед</strong> активацией каталог должен быть доступен на запись. Каталог для хранения кэша можно изменить в настройках (для увеличения производительности имеет смысл размещать кэш на RAM-диске); каталог также должен быть доступен на запись. Плагину при активации/сохранении настроек должен быть доступен на запись каталог <code>wp-content</code>: в него копируется файл <code>object-cache.php</code>. После того, как плагин активирован <strong>и</strong> сконфигурирован, права на запись можно убрать.</p>
<p>По производительности плагин бьет как «голый» <a href="http://wordpress.org/development/2008/12/wordpress-27-release-candidate-1/">WordPress 2.7rc1</a>, так и WordPress, «нагруженный» плагинами. Причем выигрыш в производительности становится всё более заметным при увеличении нагрузки на сайт (когда обмен данными с <a href="http://blog.sjinks.pro/tag/mysql/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  MySQL">MySQL</a> становится всё более интенсивным).</p>
<p>Плагин скоро появится на wordpress.org (да, у меня наконец-то дошли руки), и его можно будет скачивать прямо оттуда <img src='http://static.sjinks.info/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Как следствие, у плагина появилась <a href="http://blog.sjinks.pro/wordpress-plugins/wp-file-cache/">домашняя страница</a>.</p>
<p><strong><a href="http://wordpress.org/extend/plugins/wp-file-cache/">Скачать последнюю версию плагина WP File Cache</a>.</strong></p>
<p>Большое спасибо <a href="http://pokrovskii.com/">Максиму Покровскому</a> за тестирование плагина под Windows.</p>
<p><strong style="color: red">Свежая версия плагина, а также вопросы/комментарии находятся на странице <a href="http://blog.sjinks.pro/wordpress-plugins/wp-file-cache/">WP File Cache: долговременное кэширование в WordPress</a>.</strong></p>
<p>© 2012 <a href="http://blog.sjinks.pro">Ars Longa, Vita Brevis</a>. Все права защищены. Перепубликация материалов без разрешения автора запрещена.</p>
<p>При использовании материалов блога наличие активной не закрытой от индексирования ссылки на <a href="http://blog.sjinks.pro/wordpress/plugins/420-wp-file-cache-10/">источник</a> обязательно.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.sjinks.pro/wordpress/plugins/420-wp-file-cache-10/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>WP File Cache: замена WP_Object_Cache с поддержкой долговременного кэширования</title>
		<link>http://blog.sjinks.pro/wordpress/plugins/190-wp-file-cache-replacement-for-wp_object_cache-with-persistent-caching/</link>
		<comments>http://blog.sjinks.pro/wordpress/plugins/190-wp-file-cache-replacement-for-wp_object_cache-with-persistent-caching/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 02:18:26 +0000</pubDate>
		<dc:creator>Vladimir</dc:creator>
				<category><![CDATA[Плагины WordPress]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP File Cache]]></category>
		<category><![CDATA[кэш]]></category>
		<category><![CDATA[плагин]]></category>
		<category><![CDATA[производительность]]></category>

		<guid isPermaLink="false">http://blog.sjinks.pro/?p=190</guid>
		<description><![CDATA[Увеличиваем производительность WordPress подручными методами Решив уделить пару часов оптимизации своего собственного блога, я с удивлением обнаружил, что страница может генерироваться несколько секунд (!). Отойдя от шока и выяснив, в чем там дело (этому можно будет посвятить отдельную статью), я быстро разобрался с запросами к базе данных и уменьшил общее время запросов в среднем до [...]<p>© 2012 <a href="http://blog.sjinks.pro">Ars Longa, Vita Brevis</a>. Все права защищены. Перепубликация материалов без разрешения автора запрещена.</p>
<p>При использовании материалов блога наличие активной не закрытой от индексирования ссылки на <a href="http://blog.sjinks.pro/wordpress/plugins/190-wp-file-cache-replacement-for-wp_object_cache-with-persistent-caching/">источник</a> обязательно.</p>]]></description>
			<content:encoded><![CDATA[<h2><em>Увеличиваем <a href="http://blog.sjinks.pro/tag/performance/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  производительность">производительность</a> <a href="http://blog.sjinks.pro/tag/wordpress/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  WordPress">WordPress</a> подручными методами</em></h2>
<p>Решив уделить пару часов оптимизации своего собственного блога, я с удивлением обнаружил, что страница может генерироваться несколько секунд (!). Отойдя от шока и выяснив, в чем там дело (этому можно будет посвятить отдельную статью), я быстро разобрался с запросами к базе данных и уменьшил общее время запросов в среднем до одной секунды (ну медленный у меня сервер).</p>
<p>Тем не менее, это заставило меня задуматься о том, как WordPress использует собственный <a href="http://blog.sjinks.pro/tag/cache/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  кэш">кэш</a> и что можно сделать, чтобы улучшить производительность.<span id="more-190"></span><script type="text/javascript">odl.register(initLightbox)</script></p>
<p>С проблемами быстродействия можно бороться очень радикально: генерировать и отдавать статические версии страниц (благо, плагинов хватает). Но кэширование на уровне страниц мне кажется недостаточно гибким (например, Hyper Cache убирает cookies, идентифицирующие пользователя (что логично), в результате чего при вводе комментария пользователю приходится вновь набирать свои данные; не поддерживаются динамические элементы на страницах и т.п.).</p>
<p>К счастью, WordPress достаточно гибок для того, чтобы позволить пользователю использовать свой собственный механизм кэширования данных вместо стандартного. Стандартный механизм кэширования реализован в классе <code>WP_Object_Cache</code> и позволяет кэшировать данные только на время выполнения скрипта. Это не всегда удобно, ибо многие данные не меняются в течение долгого времени (соответственно, можно экономить на запросах). К тому же некоторые запросы, которые осуществляет WordPress, не очень хороши — они нагружают <a href="http://blog.sjinks.pro/tag/mysql/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  MySQL">MySQL</a>, а оптимизировать их очень трудно.</p>
<p>Посидев немного и подумав, я написал свою собственную замену для <code>WP_Object_Cache</code>: <a href="http://blog.sjinks.pro/tag/plugin/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  плагин">плагин</a> называется <strong><a href="http://blog.sjinks.pro/tag/wp-file-cache/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  WP File Cache">WP File Cache</a></strong>.</p>
<p><strong>Функциональность плагина:</strong></p>
<ul>
<li>поддержка долговременного (persistent) кэширования;</li>
<li>полная совместимость интерфейса с <code>WP_Object_Cache</code>;</li>
<li>кэширование данных в памяти для увеличения быстродействия;</li>
<li><strong>Версия 0.2.1:</strong> реализация non-persistent caching для часто изменяющихся объектов.</li>
</ul>
<p>Плагин пока находится в стадии тестирования, но его работа мне уже очень нравится <img src='http://static.sjinks.info/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong><a href="http://d.sjinks.pro/wordpress/file-cache-0.2.1.zip" rel="nofollow">Скачать WP File Cache 0.2.1</a>.</strong></p>
<p><strong>Замечания по установке:</strong></p>
<ol>
<li>Каталог <code>/wp-content/plugins/file-cache/cache</code> должен быть доступен на запись пользователю, под которым бегает web-сервер:
          
<div class="codebox">
    <div class="the_code" style="" id="p1902">
        <div class="code bash" id="p190code2">
<span class="kw2">chmod</span> <span class="re5">-R</span> 0777 wp-content<span class="sy0">/</span>plugins<span class="sy0">/</span>file-cache<span class="sy0">/</span>cache
        </div>
    </div>
</div>

</li>
<li>При активации плагин копирует файл <code>object-cache.php</code> в каталог <code>/wp-content/</code>. Как следствие, каталог должен быть доступен плагину на запись.</li>
<li>Для срочной деактивации плагина можно удалить или переименовать файл <code>/wp-content/object-cache.php</code>. В этом случае WordPress будет использовать встроенные механизмы кэширования.</li>
</ol>
<p><strong><ins datetime="2008-07-02T12:07:32+00:00">Update</ins>:</strong> ниже приведены скриншоты, демонстрирующие эффективность плагина. Для замера количества запросов и времени их выполнения использовался <a href="http://blog.sjinks.pro/wordpress/plugins/192-sqlmon-plugin-for-sql-query-analysis/">плагин SqlMon</a>, о котором я писал ранее.</p>
<ol>
<li><strong>Кэширование полностью запрещено:</strong><br />
<a href='http://static.sjinks.info/wp-content/uploads/2008/07/no_cache.png' rel="lightbox[cache]"><img src="http://static.sjinks.info/wp-content/uploads/2008/07/no_cache-300x241.png" alt="737 запросов, 3.44 секунды" title="737 запросов, 3.44 секунды" class="alignnone size-medium wp-image-214"/></a></li>
<li><strong>Стандартный кэш WordPress:</strong><br />
<a href='http://static.sjinks.info/wp-content/uploads/2008/07/default_cache.png' rel="lightbox[cache]"><img src="http://static.sjinks.info/wp-content/uploads/2008/07/default_cache-300x241.png" alt="35 запросов, 0.09 секунды" title="35 запросов, 0.09 секунды" class="alignnone size-medium wp-image-212"/></a></li>
<li><strong>WP File Cache:</strong><br />
<a href='http://static.sjinks.info/wp-content/uploads/2008/07/file_cache.png' rel="lightbox[cache]"><img src="http://static.sjinks.info/wp-content/uploads/2008/07/file_cache-300x241.png" alt="10 запросов, 0.03 секунды" title="10 запросов, 0.03 секунды" class="alignnone size-medium wp-image-213"/></a></li>
</ol>
<p><strong style="color: red">Свежая версия плагина, а также вопросы/комментарии находятся на странице <a href="http://blog.sjinks.pro/wordpress-plugins/wp-file-cache/">WP File Cache: долговременное кэширование в WordPress</a></strong></p>
<p>© 2012 <a href="http://blog.sjinks.pro">Ars Longa, Vita Brevis</a>. Все права защищены. Перепубликация материалов без разрешения автора запрещена.</p>
<p>При использовании материалов блога наличие активной не закрытой от индексирования ссылки на <a href="http://blog.sjinks.pro/wordpress/plugins/190-wp-file-cache-replacement-for-wp_object_cache-with-persistent-caching/">источник</a> обязательно.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.sjinks.pro/wordpress/plugins/190-wp-file-cache-replacement-for-wp_object_cache-with-persistent-caching/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>

