![]() |
Показаны 7 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- VBulletin 3.x.x (http://netadmin.ws/forum/forumdisplay.php?forumid=74)
-- db overload (http://netadmin.ws/forum/showthread.php?threadid=9719)
db overload
Уже спрашивал, но может вопрос прозвучал слишком трудно, упрощаю подачу:
Что в vb3 может жрать 70% 2 СPU PIII и 80% 1Гб памяти при 100-150 online users?
У меня уже нет никаких мыслей, кроме как грешить на таблицу с аттачами. debug mysql query?
Может все-таки многочисленные запросы к MySql?
Не только аттачи, но и огромная таблица постов например.
__________________
miXei.ru - Дискуссионный клуб 
Зарегистрировано: 2498
Тем 8624
Cообщений: 119396
- 150 пользователей за таймаут куки в пределах 600-900 это фигня для двухпроцессорной тачки. Даже если по 30 запросов делать с главной странице простых. А сложных там нету. Самое сложный запрос генерит Топ X
Путем мониторинга всех запросов нашел 2 запроса, которые грузили не по децки mysqld.
Спешу вас уведомить, что хак Top 'X' Stats от AnimeWebby - полное говнов плане построения запроса. Прошу заценить широту души автора
$getstats_posters = $DB_site->query("SELECT userid, username, posts FROM " . TABLE_PREFIX . "user ORDER BY posts DESC LIMIT 0, $displayrecords");
while ($getstats_poster = $DB_site->fetch_array($getstats_posters))
{
eval('$stats_posters .= "' . fetch_template('forumhome_stats_poster') . '";');
}
$getstats_members = $DB_site->query("SELECT userid, username, posts, joindate FROM " . TABLE_PREFIX . "user ORDER BY joindate DESC LIMIT 0, $displayrecords");
while ($getstats_member = $DB_site->fetch_array($getstats_members))
{
eval('$stats_members .= "' . fetch_template('forumhome_stats_member') . '";');
}
// filter out deletion notices if can't be seen
$forumperms = fetch_permissions($forumid);
if (!($permissions['forumpermissions'] & CANSEEDELNOTICE))
{
$delquery = ", NOT ISNULL(deletionlog.primaryid) AS isdeleted, deletionlog.userid AS del_userid, deletionlog.username AS del_username, deletionlog.reason AS del_reason";
$delthreadlimit = "AND deletionlog.primaryid IS NULL";
$deljoin = "LEFT JOIN " . TABLE_PREFIX . "deletionlog AS deletionlog ON(thread.threadid = deletionlog.primaryid AND type = 'thread')";
}
else
{
$delquery = ", NOT ISNULL(deletionlog.primaryid) AS isdeleted, deletionlog.userid AS del_userid, deletionlog.username AS del_username, deletionlog.reason AS del_reason";
$delthreadlimit = "";
$deljoin = "LEFT JOIN " . TABLE_PREFIX . "deletionlog AS deletionlog ON(thread.threadid = deletionlog.primaryid AND type = 'thread')";
}
$getstats_threads = $DB_site->query("
SELECT thread.threadid, thread.title, thread.lastpost, thread.forumid, thread.replycount, thread.lastposter, thread.dateline, IF(views<=replycount, replycount+1, views) AS views, thread.visible, user.username, user.userid
$delquery
FROM " . TABLE_PREFIX . "thread AS thread
LEFT JOIN " . TABLE_PREFIX . "user AS user ON (user.username = thread.lastposter)
$deljoin
WHERE thread.forumid NOT IN ($excludedforums)
$delthreadlimit
ORDER BY thread.lastpost DESC LIMIT 0, $displayrecords");
while ($getstats_thread = $DB_site->fetch_array($getstats_threads))
{
$getstats_thread[title] = unhtmlspecialchars($getstats_thread[title]);
if (strlen($getstats_thread[title]) > $threadchars)
{
$getstats_thread[titletrimmed] = substr($getstats_thread[title], 0, strrpos(substr($getstats_thread[title], 0, $threadchars), ' ')) . '...';
}
else
{
$getstats_thread[titletrimmed] = $getstats_thread[title];
}
if ($getstats_thread[lastpost] > $bbuserinfo[lastvisit])
{
$getstats_thread[newpost] = true;
}
if ($getstats_thread[isdeleted])
{
$getstats_thread[isdeleted] = true;
}
eval('$stats_threads .= "' . fetch_template('forumhome_stats_thread') . '";');
}
Bochkarev_D.S.
хм.. кучеряво
надо бы и у себя пару хаков то проверить
__________________
Новая жизнь HMM3(Герои 3.5 WoG)http://hmm3.fclan.ru
и было бы неплохо открыть например отдельную тему, и в нее писать подобные баги хаков, чтобы остальные не тямущие в мускуле, не устанавливали подобные хаки себе, либо же если ставят, то знали чем им это может грозить.
Как по мне то это очень полезно было бы сделать! Что скажете?
Bochkarev_D.S. есть какие-то идеи по упрощению данного хака? Так как он довольно нужная вещь и юзеры его просят!
__________________
yMC.ru - хомяк музыканта
| Формат времени GMT. Текущее время 02:32. | Показаны 7 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.