Столкнулся с проблемой в WordPress - очень долго генерируется страница(~3 секунды). Проблему сразу нашел, дело в том что в сайтбаре выводиться 2 блока постов, в каждом по 5 ссылок. Используется конструкция get_posts, объединить не получиться т.к. выборка осуществляется по разным параметрам. Так же в шапке присутствует слайдер, тоже get_posts, да еще и с orderby rand - тоже +время. Когда убираю все конструкции get_posts то страница генерируется за 0,6 сек., тоже много, но это без кэширования и т.д.
Кто подскажет решение проблемы или посоветует что-нить? Единственное решение что я вижу - это забирать все данные для сайтбара за один запрос и разбирать непосредственно в PHP.
Понижение числа запросов за счет кэширование почему-то не понижает время генерации страницы.
Zvеr, а кеш отрабатывает, тот же суперкеш пишет внизу страницы время генерации, если такой текст есть <!-- Dynamic page generated in 2.564 seconds. --> <!-- Cached page generated by WP-Super-Cache on 2012-07-31 12:34:58 --> <!-- Compression = gzip -->
volos_86 спасибо большое! Я кстати этот плагин не использовал, многие обзорщики выделяли другие плагины :) поставил + включил nginx, теперь время загрузки страницы 0.3с. Но вроде плагин при добавлении поста обновляет только страницу поста, блоки типа последние статьи и т.д. станут неактуальны...
И все же хотелось бы еще узнать как можно оптимизировать get_posts, к кэшу планировал в последнюю очередь прибегнуть.
есть кеш получше суперкеша, меньше время генерации страниц примерно раза в 2, но единственное подходит не для особо больших сайтов(до 3-4к страниц и посещалки до 1-2к/сутки)
volos_86, _http://blog.sjinks.pro/wordpress-plugins/wp-file-cache/ ну или прямая ссылка на репозиторий _http://wordpress.org/extend/plugins/wp-file-cache/
сравнение производительности
Оценки производительности
«Голый» Wordpress:
Кэширование запрещено: 191 запроса, 0.587 с
Встроенный в WordPress кэш: 18 запросов, 0.350 с
WP File Cache: сессионное кэширование: 18 запросов, 0.334 с
WP File Cache: долговременное кэширование: 3 запроса, 0.315 с
Данный сайт:
Кэширование запрещено: 1442 запроса, 3.558 с
Встроенный в WordPress кэш: 51 запрос, 0.776 с
WP File Cache: сессионное кэширование: 51 запрос, 0.615 с
WP File Cache: долговременное кэширование: 13 запросов, 0.576 с
ArhStrAngeR,он кеширует запросы к БД, в то время как суперкеш делает статические страницы. Это разные парадигмы кеширования, и их можно и нужно использовать вместе. На своих сайтах я так и делал. Вот здесь я тоже проводил тестирование в различных связках http://seomelochi.ru/wp-file-cache-u...aya-nastrojka/
Еще есть W3 Total Cache он реализует оба варианта в рамках одного плагина, но ничего про него сказать не могу, так как тестирование не проводил.
Последний раз редактировалось volos_86; 01.08.2012 в 01:06.
Такс, а как включить встроенный кэш wp? W3 Total Cache я кстати ставил, там есть возможность использовать memchahed, но после всей настройки я так и не увидел результата как например сегодня от того же WP-Super-Cache. Возможно конечно что memchahed не правильно поставил, а то после установки его в ISPManager WP никак не среагировал, и лишь только когда по SSH поставил появилась возможность активации memchahed...
Я так понимаю оптимизировать get_posts нет смысла, это особенности движка с которыми трудно бороться, судя по количеству запросов у ArhStrAngeR (1442 запроса, 3.558 с)