Уменьшение потребления памяти в локализованных версиях WordPress
С каждой новой версией WordPress становится всё прожорливее. Не стал исключением и WordPress 3.0 - про потребление памяти его админкой, я уже писал. А как обстоит дело с клиентской частью? Попытаемся измерить и проанализировать...
Как измерить потребление памяти клиентской части WordPress?
Плагин WP-Memory-Usage показывает потребление памяти только в админке.
Плагин Панель загрузки по идее должен показывать потребление памяти и в клиентской части, но у меня на тестовой площадке WordPress 3.0 работал некорректно.
Поэтому пришлось пользоваться старым дедовским способом, подсмотренным мной у Lecactusа. Открываем файл footer.php темы Twenty Ten ( именно у этой темы мы будем измерять потребление памяти) и в конце (но до тегов </body></html>) добавляем такую строчку (не забываем, если надо ставить открывающие и закрывающие рнр-теги):
echo " | MySQL: " . get_num_queries() . "запросов / "; timer_stop(1). "секунд"; if ( function_exists('memory_get_usage') ) echo ' Потребление памяти: ' . round(memory_get_usage()/1024/1024, 2) . 'MB ';
В результате, немного ниже футера, появится строка, показывающая:
- количество запросов к БД,
- время генерации страницы,
- потребление оперативной памяти.
Измеряем
Для начала запустим английскую версию WordPress 3.0 с темой Twenty ten. Результат: 11, 91 МБ.
Русская версия WordPress 3.0 с темой Twenty ten показывает - 15, 54 МБ.
Как видим, разница в 3 с половиной мегабайта - появилась из-за обращений темы к файлу локализации. Разница, кстати, почти такая же, как и в админке.
Внимание! Измерение проводилось на свежеустановленных, без лишних плагинов ( только Akismet и Hello Dolly, идущие в комплекте) официальных версиях WordPress 3.0 . Никаких акселераторов, сжатий и прочих фич, ускоряющих работу блога не применялось!
Как уменьшить потребление памяти локализованной версией?
Многие блоггеры вполне справедливо рекомендуют использовать для этого плагин Сергея Бирюкова WPLANG lite. Кстати, совсем недавно, этот плагин был обновлён до версии 0.4.
Как работает плагин WPLANG lite? Он сканирует файл локализации WordPress "ru_RU.po" и создает облегченный вариант "ru_RU_lite.mo", в котором вырезана вся локализация админки WordPress. После этого при генерации страниц клиентской части блога будет использоваться облегченный вариант, а при открытии админки - полный вариант перевода. Для сравнения: полный вариант ru_RU.po "весит" 477кБ, а облегчённый ru_RU_lite.mo - всего 59 кБ. После установки плагина вы не заметите каких-либо внешних изменений в работе блога, кроме того, что он теперь будет использовать меньше памяти.
Как установить плагин?
- Распаковываем архив.
- Копируем папку wplang-lite в /wp-content/plugins/.
- Устанавливаем права 777 на папку /wp-content/languages/. (Обязательно, иначе плагин не будет работать!)
- Заходим в админку блога на вкладку "Плагины" и активируем плагин.
Кстати, в версии 0.4 наконец-то были внесены очень нужные изменения:
1. В версии 0.4 добавлена поддержка строк режима Multisite.
2. Добавил диагностику в тестовый архив...
Если каталог wp-content/languages недоступен для записи, выводится предупреждение. Если после изменения прав файл ru_RU_lite.mo так и не появился, можно открыть адрес http://site.ru/?wpll_action=create_mofile — должен появиться текст ошибки.
Сергей Бирюков.Форум поддержки WordPress.
Скачал, поставил... не работает...
1. Обязательно проверьте пункт 3 последовательности установки плагина, и наличие файла ru_RU_lite.mo в папке wp-content/languages.
2. Если вы используете локализацию WordPress от Lecactus - этот плагин пользы не принесет - Lecactus использует свои методы экономии памяти при локализации (очень похожие, но без плагина).
3. Ваша тема жестко русифицирована в файлах. (Вопрос спорный - может кто проверит - будет ли польза от плагина?)
Сколько же памяти удалось съэкономить?
Поступлю немного нелогично - установлю и активирую плагин WPLANG lite и на русскую и на английскую версии WordPress 3.0 . Просто ради любопытства...
Запускаем английскую версию... 11,93 МБ потребляемой памяти. Как видим, в этом случае потребление памяти даже немного возросло, так что незачем ставить плагин куда не нужно )))
Запускаем русскую версию - вуаля - 12,66 МБ потребляемой памяти, тоесть почти 3 МБ экономии... Вот это уже то, что надо))) Радуемся жизни и читаем про кеширование, акселераторы - будем повышать быстродействие блога дальше... Но это уже другая история...
Хорошему сайту - хороший хостинг. WordPress предъявляет весьма высокие требования к ресурсам сервера. Скоро, в версии 3.2 будет осуществлен переход на 5-ю версию PHP. Так что выбирать php хостинг желательно заранее. WordPress предоставляет множество возможностей для оптимизации своей работы, и эту тему мы продолжим рассматривать в следующих статьях.

















16 комментариев к “Уменьшение потребления памяти в локализованных версиях WordPress”