VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Создал новый раздел в админке. Пытаюсь зайти с форума. Говорит - нету прав.
Перелогиниваюсь. Захожу в админку. Нового раздела нет.
Смотрю в БД - раздел есть.
Не придумал ничего более умного, кроме как перезапустить Апачи на обоих серверах :(
Но это ведь не дело - каждый раз после создания раздела дергать Апачи. Наверняка есть какой-то более цивилизованный способ объяснить булке, что нужно "передернуть" кеш.
Два веб-сервера и на одном из них база, на каждом xcache и на каждом свое хранилище, так ?
Хранилище xcache придется выкинуть и использовать memcache запущенный на одном из серверов. Но разумеется оставить xcache в качестве кеша для исполняемого кода php. xcache в принципе не позволяет по сети данные передавать. Хотя для одного сервера прекрасный вариант.
Хотя даже это может неплохо тормозить, ведь хранилище это 2-5 мб данных и перекачивание данных по сети на каждый запрос - не слишком хорошая идея.
Еще можно попробовать скрипт соорудить чтобы очищать кеш программно. Готового не видел.
@IVB
Знаток
Join Date: Dec 2005
Posts: 98
Версия vB: 3.6.x
Пол:
Reputation:
Knowing 114
Репутация в разделе: 18
0
Quote:
Originally Posted by netwind
Два веб-сервера и на одном из них база, на каждом xcache и на каждом свое хранилище, так ?
Почти так.
База на отдельном сервере, а все остальное - правильно: на каждом веб-сервере установлен XCache, и на каждом включено кеширование данных (конфиги одинаковые на обоих серверах).
Quote:
Originally Posted by netwind
Хранилище xcache придется выкинуть и использовать memcache запущенный на одном из серверов.
Понятно :(
Получается, для кеширования данных в сочетании с балансировкой нагрузки можно использовать только memcache...
Quote:
Originally Posted by netwind
Хотя даже это может неплохо тормозить, ведь хранилище это 2-5 мб данных и перекачивание данных по сети на каждый запрос - не слишком хорошая идея.
Данные хранятся в БД, доступ к которой в любом случае осуществляется по сети. Поэтому использование даже memcache снизит нагрузку на БД и даст прирост производительности.
Quote:
Originally Posted by netwind
Еще можно попробовать скрипт соорудить чтобы очищать кеш программно. Готового не видел.
Не, это костыль :(
IVB добавил 15.10.2009 в 13:46
Но мне почему-то кажется, что решение должно быть и для XCache.
До XCache кеширование данных было включено, только использовался механизм vB_Datastore_Filecache - и таких проблем не было.
Last edited by IVB : 10-15-2009 at 02:46 PM.
Reason: Добавлено сообщение
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
Quote:
Originally Posted by IVB
Данные хранятся в БД, доступ к которой в любом случае осуществляется по сети. Поэтому использование даже memcache снизит нагрузку на БД и даст прирост производительности.
Нагрузки на БД в обычном смысле из-за запроса select * from datastore я вообще не видел никогда.
Но такой запрос будет может длительное время передавать результат по сети. Datastore в некоторых случаях сильно разрастается. Ну так и какая разница в memcache или в mysql ?
Quote:
Originally Posted by IVB
Не, это костыль :(
однако, самый производительный вариант получится. И данные не будут гоняться по сети постоянно.
покопайся на орге в теме с хаком xcache datastore. может люди уже сталкивались.
Quote:
Originally Posted by IVB
Но мне почему-то кажется, что решение должно быть и для XCache.
До XCache кеширование данных было включено, только использовался механизм vB_Datastore_Filecache - и таких проблем не было.
А должны были быть Ведь на каждом сервере свой файл. Наверное недостаточно долго тестировал? Иначе это мою теорию не подтверждает.
Кстати, что это за балансировщик, если он после добавления форума кинул твои последующие обращения на другой сервер ?
@IVB
Знаток
Join Date: Dec 2005
Posts: 98
Версия vB: 3.6.x
Пол:
Reputation:
Knowing 114
Репутация в разделе: 18
0
Quote:
Originally Posted by netwind
А должны были быть Ведь на каждом сервере свой файл. Наверное недостаточно долго тестировал?
Больше двух лет - это достаточно или нет?
Форум с балансировкой нагрузки крутится примерно столько времени. А XCache я прикрутил только недавно.
Quote:
Originally Posted by netwind
Иначе это мою теорию не подтверждает.
Об чем и речь! Если механизм FileCache работал нормально - значит, и XCache должен.
Quote:
Originally Posted by netwind
Кстати, что это за балансировщик, если он после добавления форума кинул твои последующие обращения на другой сервер ?
Cisco CSS 11050.
Видимо, посчитал форум и админку разными ресурсами...
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
Quote:
Originally Posted by IVB
Форум с балансировкой нагрузки крутится примерно столько времени. А XCache я прикрутил только недавно
а файлы форума синхронизируются как-то или просто по сети розданы ? непонятно как кеш оказывался и на другом сервере одновременно.
Может тогда оставить как было? То есть сам xcache нужен, а xcache_datastore - нет. Ведь xcache будет кешировать файл с данными в памяти, который создает vB_Datastore_Filecache. Не совсем то что надо, ведь там будут храниться не сами данные, а оп-коды php, которые создают массив. Но данные не перекачиваются как в случае с memcache.
@IVB
Знаток
Join Date: Dec 2005
Posts: 98
Версия vB: 3.6.x
Пол:
Reputation:
Knowing 114
Репутация в разделе: 18
0
Quote:
Originally Posted by netwind
а файлы форума синхронизируются как-то или просто по сети розданы ?
Никак они не синхронизируются. Два идентичных набора статических файлов на двух серверах. Вся динамика (аватары, вложения) в БД.
Quote:
Originally Posted by netwind
непонятно как кеш оказывался и на другом сервере одновременно.
Никак не оказывался. На каждом сервере был свой кеш.
Quote:
Originally Posted by netwind
Может тогда оставить как было?
Не хочу я, как было. Хочу "быстрый" кеш данных (в отличие от "медленного" Filecache).
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
Quote:
Никак не оказывался. На каждом сервере был свой кеш.
согласись, это не логично, если все работало нормально.
Интересно, как он все-таки перестраивался ? Если этот механизм заложен в форум, то и сброс кеша внутри xcache должен работать.
И все же, боюсь это экономия на спичках. Какая разница между
исполнить оп-код в памяти и создать массив
или
получить данные из памяти и создать массив через unserialize ?
Есть какие-то данные показывающие что дневная нагрузка от введения XCache_Datastore (независимо от начала использования xcache), снизилась? лучше всего графики munin и дополнительный график числа пользователей.