[MODDB] Cache Guests Pages
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
Re: [RC] Cache Guests Pages
Пока что максимальный форум, на которой ставили (о чём мне известно), это 5к.
Но проблем быть не должно. Разве что только кэш будет занимать около 8 гигов, как мне кажется. :) Хотя это ещё очень сильно зависит от количества тем и сообщений на форуме.
Но проблем быть не должно. Разве что только кэш будет занимать около 8 гигов, как мне кажется. :) Хотя это ещё очень сильно зависит от количества тем и сообщений на форуме.
Минский скутер-клуб (3.2.0)
-
sosfx
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 14 лет 8 месяцев
- Благодарил (а): 7 раз
Re: [RC] Cache Guests Pages
Kot, около 1000к сообщений и 10к тем, но размер кэша не интересует, важна стабильность работы
Re: [RC] Cache Guests Pages
На серьёзные баги никто не жаловался, а мелкие баги я старался оперативно исправлять. К тому же с самого первого дня этот мод крутится у меня на форуме, и я как разработчик внимательно слежу за его работой. Проблем не замечал, нагрузка на сервер уменьшилась как минимум на треть -- считаю это достаточно хорошим результатом.
Минский скутер-клуб (3.2.0)
-
владимир1983
- phpBB 3.2.6
- Сообщения: 5954
- Стаж: 16 лет 4 месяца
- Откуда: Сергиев Посад
- Благодарил (а): 373 раза
- Поблагодарили: 727 раз
Re: [RC] Cache Guests Pages
Вы про тот форум что в профиле? Каков размер кэша в среднем?
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Нет человека - нет проблемы. (c)
Re: [RC] Cache Guests Pages
Да, про него. В среднем размер кэша держится в районе 500 мегабайт.
Минский скутер-клуб (3.2.0)
-
владимир1983
- phpBB 3.2.6
- Сообщения: 5954
- Стаж: 16 лет 4 месяца
- Откуда: Сергиев Посад
- Благодарил (а): 373 раза
- Поблагодарили: 727 раз
Re: [RC] Cache Guests Pages
Код: Выделить всё
http://scooterclub.by/nforum/index.php?cache=1?cache=1 можно подробней?За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Нет человека - нет проблемы. (c)
Re: [RC] Cache Guests Pages
Это артефакт не из моего мода, а из похожего мода Харавикка HTTP Guest Cache. У меня гостевые страницы физически кэшируются на диске, и отдаются клиенту готовым контентом, он же использует HTTP заголовки public cache.
Мой мод эффективен в любом случае, если есть гостевой трафик, его мод эффективен в тех случаях, если установлен кэширующий прокси. Я буквально пару часов назад отключил его мод, потому что он для меня оказался бесполезным.
Мой мод эффективен в любом случае, если есть гостевой трафик, его мод эффективен в тех случаях, если установлен кэширующий прокси. Я буквально пару часов назад отключил его мод, потому что он для меня оказался бесполезным.
Минский скутер-клуб (3.2.0)
-
владимир1983
- phpBB 3.2.6
- Сообщения: 5954
- Стаж: 16 лет 4 месяца
- Откуда: Сергиев Посад
- Благодарил (а): 373 раза
- Поблагодарили: 727 раз
Re: [RC] Cache Guests Pages
Какая папка под это отводится?Kot писал(а):физически кэшируются на диске
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Нет человека - нет проблемы. (c)
-
Citromon
- phpBB 1.4.3
- Сообщения: 78
- Стаж: 14 лет 7 месяцев
- Благодарил (а): 32 раза
Re: [RC] Cache Guests Pages
Серьёзно, сколько на вашем сайте мотоклуба занимает папка кэша?Kot писал(а):Разве что только кэш будет занимать около 8 гигов, как мне кажется.
Теоретически, можно ли как-то контролировать объём кэша, например, чтобы кэшировались наиболее посещаемые страницы? Возможность ввести лимит в админке?
Re: [RC] Cache Guests Pages
Как я выше писал, на моём форуме папка кэша в среднем занимает 500 мегабайт. Это форум с 2-3к уников в сутки, 8к тем.Citromon писал(а):Серьёзно, сколько на вашем сайте мотоклуба занимает папка кэша?
Возможности кэшировать только популярные страницы не вижу (как их определять, популярные-то?). Если будет идея -- озвучивайте, попробую реализовать.
Размер кэша можно заметно уменьшить, поигравшись с настройкой "максимальный срок кэширования" в админке мода. Если уменьшить время (по умолчанию 12 часов), то файлы кэша будут быстрее устаревать. Нет смысла ставить меньше 2-х часов, потому что по умолчанию устаревшие файлы кэша чистятся раз в 2 часа.
Добавлено спустя 2 минуты 46 секунд:
Кстати говоря, насчёт популярных страниц. Если страница не популярная, то она и в кэш может вообще не попасть -- ведь вначале на страницу нужно зайти, чтоб она сохранилась в кэше.
Последний раз редактировалось Kot 25.03.2013 14:31, всего редактировалось 1 раз.
Минский скутер-клуб (3.2.0)
-
Citromon
- phpBB 1.4.3
- Сообщения: 78
- Стаж: 14 лет 7 месяцев
- Благодарил (а): 32 раза
Re: [RC] Cache Guests Pages
Может, всё-таки 500 мб, ну, хотя бы 5 гб.Kot писал(а): папка кэша в среднем занимает 500 гигабайт
В последнем случае для обычного хостинга это слишком круто.
У меня такая идея - как-то реализовать выбор кэширования: все страницы или только главные (index.php, portal.php и т.д.);
или же кэшировать только последние заданные n тем.
Re: [RC] Cache Guests Pages
Конечно же мегабайт, это просто оговорка.Citromon писал(а):Может, всё-таки 500 мб, ну, хотя бы 5 гб.
В последнем случае для обычного хостинга это слишком круто.
Сейчас именно так и сделано, кэшируются самые используемые страницы: просмотр тем, сообщений, портал.Citromon писал(а):У меня такая идея - как-то реализовать выбор кэширования: все страницы или только главные (index.php, portal.php и т.д.);
Что это значит? Последние созданные темы? Ну так не факт, что они будут самые популярные. К тому же если они новые, то скорее всего там идёт постоянное обсуждение, а следоватлеьно кэширование не столь эффективно -- кэш постоянно сбрасывается после обновления темы. Эффективнее кэшировать старые темы, где нет новых сообщений, но есть просмотры.Citromon писал(а):или же кэшировать только последние заданные n тем.
Минский скутер-клуб (3.2.0)
-
Citromon
- phpBB 1.4.3
- Сообщения: 78
- Стаж: 14 лет 7 месяцев
- Благодарил (а): 32 раза
Re: [RC] Cache Guests Pages
500 мб - это просто прекрасно. Мне аж стрёмно стало - 5 гб.
И напоследок вопрос - как настроить кэширование других старниц аддонов, например, багтрекера, галереи и т.д.?
Да, вы правы.Kot писал(а):Эффективнее кэшировать старые темы, где нет новых сообщений, но есть просмотры.
И напоследок вопрос - как настроить кэширование других старниц аддонов, например, багтрекера, галереи и т.д.?
Re: [RC] Cache Guests Pages
Процитирую со страницы FAQ на phpbb.com (страница пока не доступна, потому что мод всё ещё на стадии валидации):Citromon писал(а):И напоследок вопрос - как настроить кэширование других старниц аддонов, например, багтрекера, галереи и т.д.?
Уж извините, переводить лень. :)Steps are very simply.
1. Analyze your page for URL parameters which should be cached, and which should not.
For example, lets examine viewtopic.php page. It is complex page, contains much parameters. We can cache the following call:
It is frequent use-case, great chances that the page will be called by different users before it expires.Код: Выделить всё
viewtopic.php?f=1&t=2123&start=30
Next example demonstrates undesirable case for page caching (for cases when default configured user_post_show_days != 5):
There is no sense to cache this custom case when user tries to get data just for latest n days. Low possibility that anyone else will use this filter until cache expiration.Код: Выделить всё
viewtopic.php?f=1&t=2123&start=30&st=5
2. Knowing which parameters could be passed to the page, create CGP_KEY based on cacheable parameters.
The example code with [c]viewtopic.php[/c] will look as below:
In most cases we have not analyze the page for "not cacheable" parameters. For example, portal.php does not require any URL parameters, and their cache code looks like following:Код: Выделить всё
//-- BEGIN Cache page content for guests if (!class_exists('CGP')) { include($phpbb_root_path . 'includes/cache_guests_pages.' . $phpEx); } if (defined('CGP_ENABLED')) { // process typical cases only to prevent cache size exploding if (CGP::is_cacheable_user($user) && $topic_id && !$view && !$update && $sort_days == $default_sort_days && $sort_key == $default_sort_key && $sort_dir == $default_sort_dir) { define('CGP_KEY', "_vt_t{$topic_id}_s{$start}" . CGP::user_type_suffix($user)); CGP::display_if_cached(CGP_KEY); } } //-- END Cache page content for guests
3. Ensure, that your page contains [c]page_footer()[/c] call inside.Код: Выделить всё
//-- BEGIN Cache page content for guests if (!class_exists('CGP')) { include($phpbb_root_path . 'includes/cache_guests_pages.' . $phpEx); } if (defined('CGP_ENABLED')) { if (CGP::is_cacheable_user($user)) { define('CGP_KEY', '_portal' . CGP::user_type_suffix($user)); CGP::display_if_cached(CGP_KEY); } } //-- END Cache page content for guests
Page's content stored into the cache within [c]page_footer()[/c] function. Cache file name based on mentioned [c]CGP_KEY[/c] variable, so be sure that you do not have duplicated [c]CGP_KEY[/c] on your pages.
4. If required, configure cache refreshing (write-through caching).
See functions [c]destroy_forum_cache()[/c] and [c]destroy_topic_cache()[/c] within [c]includes/cache_guests_pages.php[/c].
P.S. I've analyzed Apache logs for my site, and have found index.php, viewforum.php, viewtopic.php, portal.php files as often used and utilizing much CPU resources. That is why I implemented caching for these files, and ignored other files.
But if you believe that you need to cache anything else, just create code snippet as on examples above, and let me know. I'll review it and include into next versions of the mod.
Минский скутер-клуб (3.2.0)

