форум vBSupport.ru > vBulletin > vBulletin 4.0.x-4.1.х > Вопросы по vBulletin 4.0.x-4.1.х
Register Меню vBsupport Изображения Files Manager О рекламе Today's Posts Search
  • Родная гавань
  • Блок РКН снят
  • Premoderation
  • For English speaking users
  • Каталог Фрилансеров
  • If you want to buy some product or script
  • Администраторам
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже:
Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
adamsadriane
Продвинутый
Post Медленная генерация страниц из-за большого количества подфорумов
0

Здравствуйте.
По специфике моего форума (электронная библиотека) на нём сейчас очень много подфорумов (более 5000 и количество увеличивается).
По этой причине (другие предположения, пожалуйста, не писать т.к. именно по этой причине) время генерации страницы значительно увеличилось от дефолтного.
Задержка идёт именно из-за ренерации в php. На генерации mySQL это не сказывается.
Как можно разрулить эту ситуацию адекватно и что следует переписать в файлах движка, ибо время генерации (около 3 секунд для главной страницы форума и 1 секунда для страниц тем) очень большое (при дефолтном 0.05 и 0.01 сек).
С уважением.
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
kerk
k0t
 
kerk's Avatar
Default
1

Quote:
Originally Posted by adamsadriane View Post
что следует переписать в файлах движка
да весь движок переписать нужно
категории/разделы/форумы хранятся в кэше
и это естественно, что при таком нереально огромном количестве форумов все тормозит
да, вобла позволяет создать "неограниченное" количество форумов с любой вложенностью, но как бы это сказать, без фанатизма...
 
 
adamsadriane
Продвинутый
Default
0

Quote:
Originally Posted by kerk View Post
да весь движок переписать нужно
До этого стоял форум IPB. Проблема была аналогичной. Можно ли что-нибудь более локальное (относительно масштабного переписывания всего движка) сделать для ускорения работы (я имею ввиду уменьшение циклов проверки в файле forumdisplay или аналогичном).
Quote:
Originally Posted by kerk View Post
без фанатизма...
Сначала мысль о том, что из-за подфорумов и будут все проблемы не возникала по причине первоначальной её алогичности (более логично, что торможение следовало бы ждать от линейного увеличения постов, или, хотя бы, в не такой большой кратной зависимости "единица подфорума/единица постов".
 
 
kerk
k0t
 
kerk's Avatar
Default
1

"хранятся в кэше", это значит, что движок подключает все (ну почти все), что находится в таблице datastore при инициализации
чем больше кэш, тем тормозней форум
дело не только в кол-ве форумов, там кроме этого еще кучка всего, модули, шаблоны (свой набор шаблонов на каждой странице + глобальные шаблоны для всех страниц), смайлы, ббкоды, битфилды, узергруппы и прочее...
но в данном конкретном случае, проблема именно в количестве форумов
PHP Code:
<?php
require_once('./global.php');
print_r($vbulletin->forumcache);
?>
сохрани в файл этот код, загрузи на форум и выполни в браузере, а потом сохрани сорс страницы в файле, затем посмотри размер этого файла
потом прибавь все выше перечисленное и получишь как раз размер кэша, который грузится со стартом движка =)
Quote:
Originally Posted by adamsadriane View Post
я имею ввиду уменьшение циклов проверки в файле forumdisplay или аналогичном
какой проверки?
отображение тех или иных разделов, зависит от прав доступа группы узера или прав в разделе/разделах
 
 
adamsadriane
Продвинутый
Default
0

Quote:
Originally Posted by kerk View Post
PHP Code:
<?php
require_once('./global.php');
print_r($vbulletin->forumcache);
?>
сохрани в файл этот код, загрузи на форум и выполни в браузере, а потом сохрани сорс страницы в файле, затем посмотри размер этого файла
потом прибавь все выше перечисленное и получишь как раз размер кэша, который грузится со стартом движка =)
в разделе/разделах
Получилось примерно 6Мб кэша.
Его как-то оптимизировать можно (скажем, вынести на ramdisk, закешировать и т.п.)?
Файлы форума, Apache, MySQL находятся на отдельных SSD.
 
 
kerk
k0t
 
kerk's Avatar
Default
1

6 МБ только кэш форумов?
попробую догадаться, у вас четверка установлена?
она сама по себе тот еще тормоз и пожиратель ресурсов, но вкупе с таким количеством разделов, мамадарагая....
Quote:
Originally Posted by adamsadriane View Post
как-то оптимизировать можно (скажем, вынести на ramdisk, закешировать)
это и есть кэш
находится постоянно в памяти, для того и сделан, что бы не выполнять дикое кол-во запросов в БД, а вытащить все статические данные, одним запросом
как вынести на рамдиск, честно - без понятия =)
 
 
adamsadriane
Продвинутый
Default
0

Quote:
Originally Posted by kerk View Post
6 МБ только кэш форумов?
Да, так и есть. Я бы ещё относительно смирился бы с этим фактом, но с развитием сайта сейчас назревает минимум ещё удвоение количества подфорумов, а текущее время генерации уже начинает сказываться на позиционировании сайта в поисковых системах (хотя для пользователей это не очень ощущается: физически для них страница с темой грузится максимум 3 секунды).
Quote:
попробую догадаться, у вас четверка установлена?
Да, 4-я версия (раньше писал, что до этого IPB был установлен и только этим летом перенесли на vB Suite: на русскоязычном сайте поддержки IPB тоже писали, что нужно переписывать в движке, но в IPB там плохо сделано (по сравнению с vBulletin).
Quote:
она сама по себе тот еще тормоз и пожиратель ресурсов, но вкупе с таким количеством разделов, мамадарагая....
Ресурсов хватает (2хXeon, 64ГБ ОЗУ, отдельно рейдовый массив из 8 дисков под аттачменты, отдельные SSD под Apache, систему, MySQL).
По этой причине загвоздка в том, что, на первый взгляд, не представляется таковым, выглядит особенно мучительно.

Quote:
это и есть кэш
находится постоянно в памяти, для того и сделан, что бы не выполнять дикое кол-во запросов в БД, а вытащить все статические данные, одним запросом
как вынести на рамдиск, честно - без понятия =)
Во, если сразу не отрицаете категорично, то уже не так облачно выглядит перспектива того, что как-то оптимизировать...
Нет, ну если кэш уже в ОЗУ, то рамдиск на этой же ОЗУ не увеличит скорость.
А статические данные - это сумма каких файлов? Можно это как-нибудь узнать?
 
 
netwind
Гуру
 
netwind's Avatar
Default
0

Quote:
Originally Posted by adamsadriane View Post
Во, если сразу не отрицаете категорично, то уже не так облачно выглядит перспектива того, что как-то оптимизировать...
именно, что никак.
тоже интересовался этой проблемой и обнаружил, что ни одна система кеширования не позволяет "проецировать" постоянные переменные прямо в область памяти php, хотя теоретически это возможно. на одно лишь перекопирование из кеша в php и unserialize тратится куча времени.

можно пытаться угадать по url какие именно форумы понадобятся на данном этапе и как-то хитро строить не полный кеш форумов, а сокращенное дерево. основные страницы могут начать грузиться быстро.

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

Я бы еще попрофилировал, чтобы понять на что тратится время в 4ой версии. Возможно, появились и другие новые тормозные факторы.
 
 
kerk
k0t
 
kerk's Avatar
Default
0

есть хак vboptimizer (или как то так), только незнаю, есть ли он для четверки
да и сам я не тестировал его и незнаю, будет ли от него какой то толк
в конфиге форума есть какие то настройки кэширования, там что то пробовали настраивать?
Quote:
Originally Posted by adamsadriane View Post
А статические данные - это сумма каких файлов? Можно это как-нибудь узнать?
Quote:
Originally Posted by kerk View Post
кроме этого еще кучка всего, модули, шаблоны (свой набор шаблонов на каждой странице + глобальные шаблоны для всех страниц), смайлы, ббкоды, битфилды, узергруппы и прочее
ну вобщем практически вся таблица datastore
 
 
netwind
Гуру
 
netwind's Avatar
Default
0

другая идея в том, чтобы написать обработчик обращений к массиву в виде функций. то есть, каждое обращение типа $forumcache[N] транслируется в вызов специальной функции, а та уже лезет в mysql за данными. Обычно скриптам типа showthread нужна лишь цепочка форумов - путь к корню от текущего, а не весь кеш. А если скрипт зацепил уже более чем M форумов, значит этот скрипт особенный и имеет смысл выбрать все дерево из mysql. С точки зрения остального кода vbulletin это должно работать прозрачно.
сложно, но реально.
 

Tags
генерация страницы


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 02:42 AM.


Powered by vBulletin® Version 3.0.15
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.