Posted by: wpcafe on: Июль 24, 2009
Каждый владелец зверька по имени WordPress рано или поздно сталкивается с вопросом увеличения скорости работы этого движка. То бишь производительности. Конечно, WordPress с точки зрения потребления ресурсов требуемых на генерацию одной страницы не такой монстр как Joomla или Битрикс. Точнее он не монстр пока маленький
Идеология кода WordPress и запросов SQL совершенно не заточена для больших проектов. На маленьком блоге и даже самом чахлом хостинге результаты будут замечательны, но как только блог разрастается до нескольких тысяч постов и нескольких тысяч посетителей в день начинаются траблы с производительностью SQL. Каждый второй тяжелый запрос к БД приводит к созданию и сортировке во временной таблице на диске! Сама по себе, детсадовская MySQL не заточена для серьезных проектов, а тут еще такие веселые запросы от WP. Вобщем нашла коса на камень.
Что делать? Потыкавшись в сети, готовых рецептов большинство не находят. И верно – чтобы поднять производительность WordPress нужно переписывать SQL запросы, менять логику в скриптах PHP. Вобщем много чего. Единственное, что находят все – это шибко популярный, но достаточно примитивный плагин Super Cache. Безусловно, если сыр бесплатный, то он как минимум лежит недалеко от мышеловки. И большая часть плагинов не исключение. Не то чтобы люди гонят кривой PHP код. Нет. Но они это делают для себя, для своего мозга, для своего блога. И вообще со своими представлении и разработке. Вот и множество выложенных в сети плагинов какие-то “такие”. Шибко “особенные” в части функционала. Super Cache не стал исключением. Да, это хоть и хромое, но решение части проблем. Короче – костыль.
После установки и активизации плагина возникает множество вопросов – почему результаты моего POST запроса кэшируются? Где хоть какие логи? Где хоть какая-нибудь инфа по тому что вообще тут просиходит? Все что выдает плагин это количество закэшированных страниц. Все! Замечательно. Надо отдать должное - на установленном под дефолту пустом WordPress работу свою Super Cache выполняет вроде-бы неплохо. Но все равно нет ни статистики ни какого-либо отчета.
Наконец, почему я написал в заголовке осторожно. Потому, что на моем блоге: 1. По непонятным причинам кэширует результаты отработки POST запроса. 2. Кэширует страницы для залогиненных (logged in) пользователей. Для особо одаренных – галочка не кэшировать такие страницы у меня стоит. 3. Полное отсутствие индикации, статистики да и вообще хоть какой информации что происходит. 4. На сайте разработчика форума я не нашел, для меня это как индикатор – “да идите вы со своими вопросами, да в хороший лес”. 5. Документация и мануал – зашибись. 6. Наконец, Super Cache кэширует всю страницу полностью – сохраняет на диске в виде файла html. То бишь в мертвом виде. Называется такая тема “забудь про интерактив”.
Резюме – плагин Super Cache можно пользовать, но с большими оговорками. И конечно ручного тестирования чего он там натворил на вашем блоге в результате ударного кэширования.
P.S. Надо бы попробовать отечественную разработку WP File Cache c более правильной, на мой взгляд, идеологией кэширования запросов к базе. Ведь траблы WP, не столько в PHP коде, сколько в пожирании ресурсов и без него хромоногой MySQL. В случае этого плагина сохраниться и полный интерактив и база не будет насилована в таком количестве. Одно но – этот плагин требует PHP5, у меня пока PHP4.
Да нормально он работает.. если мы говорим о WP, а не WP MU
Проблема плагина в том, что как только все настроили и все работает – трогать его вредно
1 | CosyDale.com: WordPress MU и BuddyPress
Декабрь 17, 2009 в 10:26 дп
Кеширование: сравнение плагинов, выводы, предложения…
Я решил посвятить статью плагинам кеширования как весьма интересной теме. Но нет, я не буду рассказывать вам про порой жизненную необходи……