- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
если на динамических проектах, тем более форумах, делают кеширование
ну так можно кешировать mysql запросы, а не сами странички
например разговор в теме перешел на 2 страницу, то почему бы не формировать первую страницу запросом из закешированного mysql запроса? даже тут на форуме количество моих и ваших сообщений показывается не сразу..
Но очень удивлюсь, если на динамических проектах, тем более форумах, делают кеширование. По крайней мере такое, которое значительно снизит нагрузку и не убьет смысл проекта.
Таки делают. Я за это время нагуглил кое-что... Например:
vB4Mance Part 5: Expert Level - Boosting vBulletin Performance with Advanced Caching.
vB Optimise.
Memcached для кэширования.
Вообще такой тест с 5000 юзеров онлайн, сколько таких форумов в мире?
5000 юзеров онлайн без описания их поведения (хотя бы сколько запросов они делают - 1 или 200 в секунду) это аналогично сферическому коню в вакууме. Но в принципе, агрессивный поисковик - может и больше создать, бинг и какой-то "государственный" грузят только так, да еще и роботс в плане тайм делея не слушают.
Хм, странно. У меня Вобла очень быстро грузится при одновременном количестве пользователей в районе 150-200 человек.
У ТС 5,000/(1 раз в 3 секунды)=1666 запросов в секунду, если мы правильно поняли суть его стресс-теста.
Если онлайн в вобле 200 человек у Вас по вобловским меркам, на реальном форуме, то там человек считается в онлайне, если не ошибаемся, в случае если он был хотя бы раз за последние 5 минут. Таким образом это может быть 0.66 запросов в секунду. Что конкретно меньше, чем 1666, поэтому сравнение некорректно.
В-общем, вопрос к знающим людям - можно нормально подружить vB и систему внешнего кеширования
Если для "анонимов", то да, можно. Хостер, кстати, достаточно четко сказал как. Тупо настройте воблу так, что бы она отдавала заголовки ""Expires:" и "Pragma:"." позволяющие кэшировать страницу, при условии что юзер неавторизирован. Можно даже не озабачиваться точными расчетами и поведенческим выставлением заголовков, а просто выставлять кэш типа каждые 5 минут (01:05, 01:10, 01:15...).
Как оно работает на практике - эффективно? Можно ли это использовать в дополнение или вместо этого самого Varnish?
APC в основном поможет если нагрузка упирается в php. memcached поможет если нагрузка упирается в основном в базу. Как дополнение к varnish использовать вместе. "Вместо" varnish не получится, так как это разные методы кэширования.
даже тут на форуме количество моих и ваших сообщений показывается не сразу
Счетчики ясное дело не обновляются сразу, там у Воблы в кроме туча заданий.
Тупо настройте воблу так, что бы она отдавала заголовки ""Expires:" и "Pragma:"." позволяющие кэшировать страницу, при условии что юзер неавторизирован.
Я вот только не пойму, это же кеш в броузере, но не со стороны сервера кеширования. Или ошибаюсь? Если не ошибаюсь, то смысл такого кеширования, если это 5000 новых пользователей? И если они просмотрят только одну страницу.
Если для "анонимов", то да, можно. Хостер, кстати, достаточно четко сказал как. Тупо настройте воблу так, что бы она отдавала заголовки ""Expires:" и "Pragma:"." позволяющие кэшировать страницу, при условии что юзер неавторизирован.
Спасибо. Увы, этого оказалось недостаточно. Varnish не кэширует все равно, по словам хостера - из-за того, что форум отправляет браузеру cookies (и незалогиненным в том числе).
Я вот только не пойму, это же кеш в броузере, но не со стороны сервера кеширования. Или ошибаюсь? Если не ошибаюсь, то смысл такого кеширования, если это 5000 новых пользователей? И если они просмотрят только одну страницу.
Это не кэш в браузере, это заголовки посылаемые форумом/сайтом, говорящие о том, когда именно данный контент был создан/обновлен. Браузер разумеется использует их для кэша (что бы не скачивать заново страницу), но они могут использоваться и любой промежуточным прокси/кэшем (как варнишь на сервере, так и провайдерский прокси например).
Спасибо. Увы, этого оказалось недостаточно. Varnish не кэширует все равно, по словам хостера - из-за того, что форум отправляет браузеру cookies (и незалогиненным в том числе).
Ну, тут 2 очевидных варианта.
Или попросить хостера что бы он настроил варнишь так, что бы он не обращал внимания на наличие печенек (раз форум и так прагмой и экспири будет контроллировать кэш).
Или донастроить воблу так, что бы печеньки не отсылались анонимам (что в принципе разумно, т.к. в печеньках сохраняется информация о прочитанных темах например).
Первый вариант более логичен (зачем менять код, если вопрос решается настройками варниша), но если реализовать второй правильно - то можно еще снизить нагрузку (вобла заводит сессию в базе на _каждого_ посетителя, даже анонима, при этом держит ее достаточно долго и апдейтит иногда, что в Вашем случае очевидно бессмысленно => это можно отключить - правда не скажем насколько тут придется вмешиваться в код).
Насколько я знаю, в самой Вобле и надеюсь речь идет о 3-ке, все нормально с запросами. Вот хаки, тут да, если кривые руки писали. А дальше уже все это онанизм, либо хостинг держит, либо нет.
Не совсем. Не хуже чем у других, но хуже чем могло бы быть. У него от рождения косяк. Проблема действительно есть.
Продукт, продающийся поштучно лицензиями на домен не может учитывать интересы крупных форумов. Им выгодно развивать удобства для мелких, так как это больше способствует продажам. Даже где-то на сайте официально написано что позиционируется для "small to middle size forums".
В данном случае удобство отметки прочитанных тем и возможности учета сессий незалогиненых поставили важнее производительности.
Еще, может быть, дело просто в наследии.
Можно решать проблему (другую, не с сессиями) установкой продуктов. И даже какой-то из вариантов vboptimize на searchengines светился в подвале одно время. Но сейчас не светится.
Внутренние кеширования данных datastore в memcached или apc реализованы, но эффект на одном сервере малозаметен. Там контента нет, а только оперативная информация нужная почти каждому скрипту в составе форума. С тем же успехом можно просто надеяться на кеш запросов mysql.
...в ряде сеонизаторских CMS, в которых нет развесистой системы ограничения доступа и все пользователи видят одно и то же.
Сразу скажу, я не спец по булкам и прочим форумам. Но если бы я столкнулся с подобной проблемой, то поступил бы следующим образом:
1) Анализ того, что дает нагрузку (БД/апач)
2.1) Если БД, то смотрим процентное соотношение авторизованных юзеров и гостей(анонимов)
2.1.1) Если гостей больше - настраиваем кэширование под них заголовками pragma, expires. Проведя несколько тестов, выбираем оптимальное время(сколько будет не в ущерб идеи форума, ну скажем 15 минут).
2.1.2) Если больше авторизованых юзеров, то делаем кэширование запросов к БД, или вообще кэшируем страницы, но с меньшим временем чем у гостей.
2.2) Если апач, то смотрим в чем трабла(либо большое время обработки(генерация+отдача юзеру) 1 запроса, либо просто дофига запросов)
2.2.1) Если долго обрабатывается запрос, то смотрим почему(не оптимизирован код, долгие коннекты к БД, долго происходит отдача юзеру)
2.2.1.1) не оптимизирован код - оптимизируем:)
2.2.1.2) долгие коннекты к БД - смотрим почему.
2.2.1.3) Долго юзер забирает свой контент - Nginx с соответствующими настройками.
2.2.2) Если просто дофига запросов - увеличиваем ресурсы.
3) Смотрим насколько снизилась общая нагрузка на сервер, после принятия каких-либо мер по оптимизации
Ну это самый минимум. Расширение алгоритма борьбы с нагрузкой только приветствуется:)
PS. На практике ни разу с таким делом не сталкивался. Так что в этой теме я только теорик. Плиз сильно не пинайте:)
Внутренние кеширования данных datastore в memcached или apc реализованы, но эффект на одном сервере малозаметен.
Ну вообще читал я вчера, что после установки vb optimise (по-моему - "pro") время генерации страницы упало с 0.7 сек до 0.05. А vb optimise как раз именно с тем же самым, как я понял, работает, что в config.php перечислено, только больше всякого всего в кэш запихивает.
Но если бы я столкнулся с подобной проблемой, то поступил бы следующим образом:
1) Анализ того, что дает нагрузку (БД/апач)
Это не так-то просто. Пока с проблемой никто не столкнулся, в эксплуатацию-то это всё пока не запущено. Но очень бы не хотелось столкнуться с ситуацией, когда всё грохнется после первой же ссылки в твиттере, и уже под нагрузкой придется рвать волосы на одном месте и срочно искать, что где подкрутить, или менять хостера, или брать сервак и т.д. и т.п.. Хотелось бы "на берегу" настроить так, чтобы хоть приблизиться к заявленной хостерами, имеющими внешние системы кэширования, способности отдавать 1000 страниц в секунду без падений.
Если гостей больше - настраиваем кэширование под них заголовками pragma, expires.
Ну вот для Varnish у данного конкретного хостера этих заголовков, повторюсь, недостаточно.
А зачем Вам вообще Варниш? Чем обусловлен его выбор?
Если Вы планируете какой-то более-менее серьезный проект, который будет приносить доход, то я думаю, что есть смысл посмотреть в сторону VPS, где Вы сам себе хозяин, и сможете делать все что душе угодно:)