- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приветствую Уважаемое Сообщество.
Столкнулся с тем, что система кеширования Varnish не кеширует толком vBulletin (3.8.7), в результате хостинг с хваленым кешированием, который при нормальной его работе должен спокойно отдавать до 1000 статически-закешированных страниц в секунду, лег на стресстесте.
Комментарий хостера:
* * Age: 0
* * Via: 1.1 varnish
"Age: 0" указывает на то, что Varnish не кэширует сайт. Форум даёт распоряжение не кэшировать страницу, и Varnish следует этим указаниям. Для того, чтобы разрешить кэширование, необходимо изменить заголовки "Expires:" и "Pragma:". Изменить заголовки обычно можно в настройках CMS.
Для Drupal мы рекомендуем использовать модуль Drupal Boost. Для Wordpress мы рекомендуем W3 total cache. Для Joomla вы можете использовать "Expires Headers" .
В случае с vBulletin, если нет возможности установить заголовки Expires, попробуйте добавить следующее в файл .htaccess:
ExpiresActive On
ExpiresByType text/html "access plus 1 minutes"
Однако если сайт отправляет браузеру cookies, то сохраняется вероятность, что Varnish кэшировать не будет.
Мы протестовали графику на сайте и убедились, что Varnish eё кэширует нормально. Об этом свидетельствует то, что Age: - больше нуля
В-общем, вопрос к знающим людям - можно нормально подружить vB и систему внешнего кеширования (хоть этот Varnish, хоть средствами nginx, как на других хостингах иногда делают)?
И ещё вопрос. У vBulletin, насколько я понимаю, есть ещё а)некие настройки кеширования в панели и б)целый абзац в config.php.
// ****** DATASTORE CACHE CONFIGURATION *****
// Here you can configure different methods for caching datastore items.
// vB_Datastore_Filecache - to use includes/datastore/datastore_cache.php
// vB_Datastore_APC - to use APC
// vB_Datastore_XCache - to use XCache
// vB_Datastore_Memcached - to use a Memcache server, more configuration below
// $config['Datastore']['class'] = 'vB_Datastore_Filecache';
Как оно работает на практике - эффективно? Можно ли это использовать в дополнение или вместо этого самого Varnish?
Суть задачи - отдавать статику вместо обращения к БД и движку каждый раз. Обновления контента не настолько часты, и для незарегистрированных читателей задержка на кеширование в минуту или даже больше никак отрицательно не скажется на юзабельности, но должно радикально снизить нагрузку на сервер.
С уважением, Евгений.
Хм, странно. У меня Вобла очень быстро грузится при одновременном количестве пользователей в районе 150-200 человек. Сижу на тарифе за 420 рублей в Зеноне. Общая посещаемость более 7000 в сутки, проблем нет.
Может все таки поискать проблему в хаках или еще где-то? Извини, что не по теме вопроса, просто удивило.
Кешировать форумы, имхо, не лучшее решение. Где-то сэкономишь времени, но где-то гемороя наберешься.
nginx сейчас почти у всех хостеров перед апач стоит.
P.S. В настройках Воблы, в разделе Cookies и заголовки HTTP есть Добавлять в HTTP заголовки "No-Cache". Что там выбрано?
заголовки Expires
Это можно и самому добавить, в шаблоне скорее всего.
P.S. В настройках Воблы, в разделе Cookies и заголовки HTTP есть Добавлять в HTTP заголовки "No-Cache". Что там выбрано?
Хм... Спасибо, и правда есть такое...
Результат при просмотре кода страницы удивительным образом не реагирует на эту настройку никак вообще. То есть появляется по-любому:
<!-- no cache headers -->
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Cache-Control" content="no-cache" />
<!-- end no cache headers -->
Результат при просмотре кода страницы удивительным образом не реагирует на эту настройку никак вообще
Можно ручками в includes/functions.php поменять. Но я бы не стал этого делать. :)
Вообще такой тест с 5000 юзеров онлайн, сколько таких форумов в мире?
сколько таких форумов в мире?
Мне до мира дела нет совершенно. Есть конкретная задача, где при скачкАх посещаемости по ссылкам из твиттера и других соцсетей может быть в короткие моменты времени и много больше. Ручками подправил в темплэйте forumhome и .htaccess. Заголовки http поправились, но параметр Age все равно ноль, то есть получается - не кеширует.
И да, посмотрел я на кеширование vBulletin в файл - там кешируется далеко не все, например - сами сообщения не кешируются. То есть это все равно некая полумера.
В-общем, на данный момент ситуация с системой кеширования Varnish уперлась в то, что даже при "правильных" заголовках vBulletin отправляет юзеру cookies, а в таком случае кеширование, увы, не работает.
Возможно, кто-либо знает, можно ли деактивировать cookies для незалогиненных юзеров?
И насколько другие внутренние способы кеширования самого vBulletin эффективны? То есть, vB_Datastore_Memcached, vB_Datastore_APC, vB_Datastore_XCache...
Насчет nginx, кстати:
nginx сейчас почти у всех хостеров перед апач стоит.
Всё верно, но отнюдь не каждый настраивает его для кеширования динамических скриптов в статику.
для кеширования динамических скриптов в статику
Что такое динамический скрипт?
А вообще тему лучше открыть на http://vbsupport.org/forum/ открыть, имхо, больше шансов, что ответят.
Что такое динамический скрипт?
Ну, на тот случай, если вопрос задан всерьез, а не в качестве придирки к возможно не самому удачному термину... Ну есть вот движок форума, который в нормальном режиме функционирования при каждом обращении юзера обращается к БД, причем с несколькими запросами. Как следствие при определенной нагрузке, коррелирующей с посещаемостью, сайт ложится, либо хостер начинает слать письма счастья о необходимости сменить тариф/арендовать сервер и т.д.. Другой вариант - поступать так исключительно с залогиненными юзерами, а незалогиненным отдавать статическую html-cтраницу вообще без единого обращения к БД и даже почти без обращения к файлам скрипта. И сохранять её в памяти кеширующего прокси, например, минут 10. Статику можно отдавать в огромных объемах, и способность хостинга переносить нагрузки и/или DDoS-атаки на Layer 7 (html-флуд) в случае, когда читателей много больше, чем писателей, возрастет на порядки.
когда читателей много больше, чем писателей, возрастет на порядки.
это если ваш форум cуществует с чисто сеонизаторской целью.
Когда люди размещают сообщение, они предполагают что его прочитают тут же, а не завтра. Даже обозначенные 10 минут уже вызовут недопонимание.
Когда люди размещают сообщение, они предполагают что его прочитают тут же, а не завтра. Даже обозначенные 10 минут уже вызовут недопонимание.
Не вызовут. К тому же можно поставить не 10 минут, а 1. Или 10 секунд. Вопрос не в том, какой интервал поставить, а в том, что к БД пойдет одно обращение с несколькими запросами от кэширующей системы, а не 10.000 юзеров*15 запросов на каждого, как это будет без кэширования. А можно, если речь про внутреннее кэширование, перестраивать кэш после создания любого нового сообщения мгновенно, как делается в ряде CMS. Последнее, впрочем - теоретически, потому как можно ли на практике в vB - я не в курсе, о том и топик.
Я очень извиняюсь, что не по теме, напоминает про секс и Красную площадь. :) Но очень удивлюсь, если на динамических проектах, тем более форумах, делают кеширование. По крайней мере такое, которое значительно снизит нагрузку и не убьет смысл проекта.
Насколько я знаю, в самой Вобле и надеюсь речь идет о 3-ке, все нормально с запросами. Вот хаки, тут да, если кривые руки писали. А дальше уже все это онанизм, либо хостинг держит, либо нет.
Вообще примечательно, что netwind, очень сильный спец по Вобле, ничего не ответил. Если бы было толковое решение, наверняка озвучил бы.