Zwezdochet что бы заработала данная галерея нужно в коде оптимизации, где встречаеться NUKE_PATH заменить скажем на NUKE_PATH_M во всех файлах которые подвергалисьоптимизации и где такое встречаеться.
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".
А кто-нибудь пробовал оптимизировать модуль Downloads? У меня от 150 до 200 запросов к БД...
Еще спросить хотел, если удалить таблицы ненужных модулей (к примеру, таблицы форума, если он не используется), то нагрузка станет меньше?
Последний раз редактировалось Samovar, 06.06.2006 в 00:35.
Samovar
Удалить базу стоит, чтобы мусора не было, но на нагрузку это не повлияет.
А про 150-200 запросов - саму нюку оптимизировал? статистика, рефералы?.
У меня после полной оптимизации (с этого сайта статьи) больше 30 не поднимается нигде.
Попродуй модуль заменить на тот, что на этом сайте, там выброшены голосования, коменты и еще кучу мусора.
Нюку оптимизировал, однако количество запросов колеблется от 60 до 200 в целом по всему сайту. К примеру, на главной - 68, модуль стоит news [его оптимизировать не удалось - получаю белый лист в результате]. А о каком Downloads идет речь? На mynuke ничего не нашел... киньте ссылку, пожалуйста
Последний раз редактировалось Samovar, 06.06.2006 в 01:54.
Я оптимизировал только все из статей что тут. Больше 25-30 не поднимается нигде (кроме модуля Топикс), хотя 25-30 условно :) правые блоки как то не правильно считаются в запросах.
---------------------------------------------------------------------------
Вопрос такой - сыграет ли в оптимизации - замена использования БД на прямые ссылки.
Если, например, есть 5 разделов для файлов, в них еще 20 подразделов (а больше и не будет, а если и будет 1-2, то не сложно добавить в код).
Заменить функцию, и сделать прямые ссылки на разделы (простым кодом, без БД). Заодно и красотени можно навести (добавить картинки для них, расположить как тебе угодно, добавить ссылки какие нибудь и т.д.).
И по возможности везде так. Снизит ли это нагрузку или незаметно даже будет?.
Второй вариант, если cid=2 - это категория называется Юмор, можно напрямую написать и не спрашивать у БД. Код будет длиннее, больше всяких условий, функций, а толк будет?
А то может 5 функций и 10 условий нагрузку сделают больше чем 5 запросов в бд :)
$result = $db->sql_query("SELECT sid, catid, title, time, comments, counter, topic, alanguage, score, ratings from ".$prefix."_stories WHERE time >= '$year-$month-01 00:00:00' AND time <= '$year-$month-31 23:59:59' order by sid DESC");
Заменяем на:
PHP код:
$result = $db->sql_query("SELECT s.*, c.title as title1 FROM ".$prefix."_stories AS s LEFT JOIN ".$prefix."_stories_cat AS c ON( c.catid=s.catid and s.catid>0) WHERE time >= '$year-$month-01 00:00:00' AND time <= '$year-$month-31 23:59:59' ORDER BY s.sid DESC");
Находим:
PHP код:
if ($catid == 0) {
$title = "<a href=\"modules.php?name=News&file=article&sid=$sid$r_opti ons\">$title</a>";
} elseif ($catid != 0) {
$row_res = $db->sql_fetchrow($db->sql_query("SELECT title from ".$prefix."_stories_cat where catid='$catid'"));
$cat_title = filter($row_res['title'], "nohtml");
$title = "<a href=\"modules.php?name=News&file=categories&op=newindex& catid=$catid\"><i>$cat_title</i></a>: <a href=\"modules.php?name=News&file=article&sid=$sid$r_opti ons\">$title</a>";
}
$result = $db->sql_query("SELECT sid, catid, title, time, comments, counter, topic, alanguage, score, ratings from ".$prefix."_stories order by sid DESC limit $min,$max");
$numrows = $db->sql_numrows($db->sql_query("select * from ".$prefix."_stories"));
Заменяем на:
PHP код:
$result = $db->sql_query("SELECT s.*, c.title as title1 FROM ".$prefix."_stories AS s LEFT JOIN ".$prefix."_stories_cat AS c ON( c.catid=s.catid and s.catid>0) ORDER BY s.sid DESC limit $min,$max");
Находим:
PHP код:
if ($catid == 0) {
$title = "<a href=\"modules.php?name=News&file=article&sid=$sid$r_opti ons\">$title</a>";
} elseif ($catid != 0) {
$row_res = $db->sql_fetchrow($db->sql_query("SELECT title from ".$prefix."_stories_cat where catid='$catid'"));
$cat_title = filter($row_res['title'], "nohtml");
$title = "<a href=\"modules.php?name=News&file=categories&op=newindex& catid=$catid\"><i>$cat_title</i></a>: <a href=\"modules.php?name=News&file=article&sid=$sid$r_opti ons\">$title</a>";
}
Вроде все тут. Делал по аналогии с оптимизацией новостей. У меня работает все.
Вопрос - зачем нужен код?
PHP код:
if(is_user($user)) {
getusrinfo($user);
if (!isset($mode) OR empty($mode)) {
if(isset($userinfo['umode'])) {
$mode = $userinfo['umode'];
} else {
$mode = "thread";
}
}
if (!isset($order) OR empty($order)) {
if(isset($userinfo['uorder'])) {
$order = $userinfo['uorder'];
} else {
$order = 0;
}
}
if (!isset($thold) OR empty($thold)) {
if(isset($userinfo['thold'])) {
$thold = $userinfo['thold'];
} else {
$thold = 0;
}
}
}
Причем тут пользователь в архиве статей? Если код удалить - разницы не заметил никакой.
Оптимизация модуля Ecyclopedia
Тут ничего впринципе не делал, просто изменил запрос в БД для алфавита. Убрал проверку на наличие терминов на каждую букву. (раньше ссылка на букве была не активной, если нет таких терминов, сейчас все ссылки активны).
Находим функцию: function alpha($eid)
И меняем ее полностью на:
PHP код:
function alpha($eid) {
global $module_name, $prefix, $db;
echo "<center>Выберите букву для получения терминов:</center><br>";