Стоит ли кэшировать специфичные для WordPress запросы? - PullRequest
0 голосов
/ 11 сентября 2018

У меня несколько запросов на WordPress, когда пользователь заходит на мою домашнюю страницу. У меня могло бы быть более 150 пользователей, посещающих одновременно, возможно, более 25 из них попали на домашнюю страницу.

Вот пример одного запроса:

 $args = array(
'posts_per_page' => 3,
'post_status' => 'publish',
'category' => 37,
'meta_key' => 'total_views',
'orderby' => 'meta_value_num', 
'order' => 'DESC',
    'date_query' => array(
        array(
            'after' => '1 month ago'
        )
    )


);

У меня примерно 6 таких (и похожих) запросов на домашней странице.

Недавно я внедрил phpfastcache в большинстве областей сайта, и по большей части он работал очень хорошо (особенно при снижении лимитов процесса входа).

Я слышал, что WordPress-запросы, как правило, хорошо оптимизированы, и обычно нет смысла их кэшировать .

Это все еще верно в моем случае?

EDIT:

Время кеширования:

1 запрос кэшируется на 10 минут.

2 запроса кэшируются по 60 секунд каждый (они являются частью раздела «это недавно обновленный раздел»). Я мог бы теоретически увеличить это немного.

Остальные кэшируются на полдня (что может быть увеличено до одного-двух дней).

1 Ответ

0 голосов
/ 12 сентября 2018

Честно говоря, это индивидуальное исследование. Кэш может ухудшить производительность, если ваш диск не является SSD или флэш-диском (при условии, что вы используете драйвер «Files»).

Но в большинстве случаев с драйвером на основе памяти (SSDB, Redis, Memcache и т. Д.) Вы заметите прирост производительности, особенно для запросов SQL, которые не используют индексы (или частично используют их).

Я работал над несколькими php CMS, такими как Drupal, Wordpress, Prestashop и т. Д., И, честно говоря, хорошо сконфигурированный кеш - это немаловажное преимущество для вашего сайта, особенно при использовании отдельного кеша на основе kv.

Чтобы закончить на простой строке, когда я не уверен, я сначала делаю тест на аппроксимацию аппроксимации для списка содержимого с кэшированием и без него (обычно с помощью отладчика браузера). Если прирост производительности едва заметен, я обычно продолжаю тестирование микротайма всей страницы.

Отказ от ответственности: я владелец Phpfastcache.

...