Forum. MyNuke.ru
Forum. MyNuke.ruСообщения за сегодняПерсональные сообщения

Навигация  
Вернуться   Forum. MyNuke.ru > PHP-NUKE > Настройка и Изменение
Ник
Пароль
Ответ
 
Опции темы Поиск в этой теме Опции просмотра
kor вне форума      Старый оптимизация нюки!!! #1  
kor
Участник+
Регистрация: 21.10.2005
Сообщения: 198


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для kor Найти все сообщения от kor Добавить kor в список друзей  
14.01.2006, 22:00

ребят!!! давайте делиться способами оптимизации нюки а то ни на одном форуме нет аткого топика !!!!!!
многим хочеться чтобы у них нюка была как слайд))))
что вы об этом думаете?

пожалуй я начну!!! вот ссылка на статью где вы можете убрать очень сного запросов у своего сайта!!! до 20 запросов сделать можете

http://lkrotish.narod.ru/optimize.html
 
Engine: php-nuke 7.9 phpbb: 2.0.17


kor вне форума      Старый #2  
kor
Участник+
Регистрация: 21.10.2005
Сообщения: 198


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для kor Найти все сообщения от kor Добавить kor в список друзей  
15.01.2006, 01:04

короче установил я все кроме blocks($side) и на главной нюка грузит 49 запросов!!!
под админком и пользователем всего 60 запросов вместо 200!!!

помогите установить то что несмог установить!!! скажите что в этом нето

function blocks($side) {
global $storynum, $prefix, $multilingual, $currentlang, $db, $admin, $user;
if ($multilingual == 1) {
$querylang = "AND (blanguage='$currentlang' OR blanguage='')";
} else {
$querylang = "";
}
if (strtolower($side[0]) == "l") {
$pos = "l";
} elseif (strtolower($side[0]) == "r") {
$pos = "r";
} elseif (strtolower($side[0]) == "c") {
$pos = "c";
} elseif (strtolower($side[0]) == "d") {
$pos = "d";
}
$side = $pos;
global $edogs_blocks;
if(empty($edogs_blocks)) {
$sql = "SELECT bid, bkey, title, content, url, blockfile, view, expire, action, subion, bposition FROM ".$prefix."_blocks WHERE active='1' $querylang ORDER BY weight ASC";
$result = $db->sql_query($sql);
while($row_z = $db->sql_fetchrow($result)) {
$edogs_blocks[]=$row_z;
}
}
foreach($edogs_blocks as $k=>$row) {
if($row['bposition']!=$pos) continue;
$bid = intval($row['bid']);
$title = stripslashes(check_html($row['title'], "nohtml"));
$content = stripslashes($row['content']);
$url = stripslashes($row['url']);
$blockfile = $row['blockfile'];
$view = intval($row['view']);
$expire = intval($row['expire']);
$action = $row['action'];
$action = substr("$action", 0,1);
$now = time();
$sub = intval($row['subion']);
if ($sub == 0 OR ($sub == 1 AND !paid())) {
if ($expire != 0 AND $expire <= $now) {
if ($action == "d") {
$db->sql_query("UPDATE ".$prefix."_blocks SET active='0', expire='0' WHERE bid='$bid'");
return;
} elseif ($action == "r") {
$db->sql_query("DELETE FROM ".$prefix."_blocks WHERE bid='$bid'");
return;
}
}
if ($row[bkey] == admin) {
adminblock();
} elseif ($row[bkey] == userbox) {
userblock();
} elseif ($row[bkey] == "") {
if ($view == 0) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view == 1 AND is_user($user) || is_admin($admin)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view == 2 AND is_admin($admin)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view == 3 AND !is_user($user) || is_admin($admin)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
}
}
}
}
}

это потимизация мне дала - 15 на главной и в админке было раньше 200 а щас 60
 
Engine: php-nuke 7.9 phpbb: 2.0.17


Andruha вне форума      Старый #3  
Andruha
Частый Гость
Регистрация: 17.09.2005
Сообщения: 46


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Andruha Найти все сообщения от Andruha Добавить Andruha в список друзей  
15.01.2006, 21:40

Мне данная инструкция помогла опуститься на несколько запросов, спасибо.
function blocks($side) - тоже не работает
 
Всё для Смартфона и не только на ModernMobile.NET


kor вне форума      Старый #4  
kor
Участник+
Регистрация: 21.10.2005
Сообщения: 198


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для kor Найти все сообщения от kor Добавить kor в список друзей  
16.01.2006, 00:50

ты смеешься? у меня убрал 15 запросов а админка стала грузиться не 200 запросов а 60!! теперь у меня всего 49 запросов
 
Engine: php-nuke 7.9 phpbb: 2.0.17


Soniks вне форума      Старый #5  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
16.01.2006, 04:51

kor
Цитата помогите установить то что несмог установить!!! скажите что в этом нето

так а что требуется то?
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


kor вне форума      Старый #6  
kor
Участник+
Регистрация: 21.10.2005
Сообщения: 198


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для kor Найти все сообщения от kor Добавить kor в список друзей  
16.01.2006, 08:58

в той статье у меня неполучилось вот эта фунуция!! проблема в том что заменяю я стандартную функция этой и у меня негрузятся ни одного блока на айте на главной !! помоги ее подправить чтоб блоки выводились!!! видимо это сжделано для старых нюк или я просто незнаю!

function blocks($side) {
global $storynum, $prefix, $multilingual, $currentlang, $db, $admin, $user;
if ($multilingual == 1) {
$querylang = "AND (blanguage='$currentlang' OR blanguage='')";
} else {
$querylang = "";
}
if (strtolower($side[0]) == "l") {
$pos = "l";
} elseif (strtolower($side[0]) == "r") {
$pos = "r";
} elseif (strtolower($side[0]) == "c") {
$pos = "c";
} elseif (strtolower($side[0]) == "d") {
$pos = "d";
}
$side = $pos;
global $edogs_blocks;
if(empty($edogs_blocks)) {
$sql = "SELECT bid, bkey, title, content, url, blockfile, view, expire, action, subion, bposition FROM ".$prefix."_blocks WHERE active='1' $querylang ORDER BY weight ASC";
$result = $db->sql_query($sql);
while($row_z = $db->sql_fetchrow($result)) {
$edogs_blocks[]=$row_z;
}
}
foreach($edogs_blocks as $k=>$row) {
if($row['bposition']!=$pos) continue;
$bid = intval($row['bid']);
$title = stripslashes(check_html($row['title'], "nohtml"));
$content = stripslashes($row['content']);
$url = stripslashes($row['url']);
$blockfile = $row['blockfile'];
$view = intval($row['view']);
$expire = intval($row['expire']);
$action = $row['action'];
$action = substr("$action", 0,1);
$now = time();
$sub = intval($row['subion']);
if ($sub == 0 OR ($sub == 1 AND !paid())) {
if ($expire != 0 AND $expire <= $now) {
if ($action == "d") {
$db->sql_query("UPDATE ".$prefix."_blocks SET active='0', expire='0' WHERE bid='$bid'");
return;
} elseif ($action == "r") {
$db->sql_query("DELETE FROM ".$prefix."_blocks WHERE bid='$bid'");
return;
}
}
if ($row[bkey] == admin) {
adminblock();
} elseif ($row[bkey] == userbox) {
userblock();
} elseif ($row[bkey] == "") {
if ($view == 0) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view == 1 AND is_user($user) || is_admin($admin)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view == 2 AND is_admin($admin)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view == 3 AND !is_user($user) || is_admin($admin)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
}
}
}
}
}
 
Engine: php-nuke 7.9 phpbb: 2.0.17


Master вне форума      Старый #7  
Аватара для Master
Master
Участник
Регистрация: 06.04.2005
Сообщения: 98


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Master Найти все сообщения от Master Добавить Master в список друзей  
16.01.2006, 11:47

Тут же взято почти все ядро от EdogsNuke :(

kor Новости кстати тоже можно переделать чтобы он делали не по 2 запроса на новость а все в 1
 
Будь проще и люди к тебе потянутся :)


kor вне форума      Старый #8  
kor
Участник+
Регистрация: 21.10.2005
Сообщения: 198


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для kor Найти все сообщения от kor Добавить kor в список друзей  
16.01.2006, 11:48

почти ты грустишь что взять от едогса? как сделать меньше запросов в нвоостях?

и подскажие может ты еще что нить знаешь как оптимизировать?
 
Engine: php-nuke 7.9 phpbb: 2.0.17


Master вне форума      Старый #9  
Аватара для Master
Master
Участник
Регистрация: 06.04.2005
Сообщения: 98


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Master Найти все сообщения от Master Добавить Master в список друзей  
16.01.2006, 11:57

kor Вобщем вот берем модуль новостей от нюки 76 на других не пробывал находим там вот это :

if (isset($new_topic)) {
$new_topic = intval($new_topic);
} else {
$new_topic == 0;
}
if (isset($userinfo['setstorynum']) AND $user_news == 1) {
$storynum = $userinfo['setstorynum'];
} else {
$storynum = $storyhome;
}
if ($new_topic == 0) {
$qdb = "WHERE (ihome='0' OR catid='0')";
$home_msg = "";
} else {
$qdb = "WHERE topic='$new_topic'";
$result_a = $db->sql_query("SELECT topictext FROM ".$prefix."_topics WHERE topicid='$new_topic'");
$row_a = $db->sql_fetchrow($result_a);
$numrows_a = $db->sql_numrows($result_a);
$topic_title = stripslashes(check_html($row_a['topictext'], "nohtml"));

Заменяем на это:

if (isset($new_topic)) {
$new_topic = intval($new_topic);
} else {
$new_topic == 0;
}
if (isset($cookie[3]) AND $user_news == 1) {
$storynum = $cookie[3];
} else {
$storynum = $storyhome;
}
if ($new_topic == 0) {
$qdb = "WHERE (ihome='0' OR s.catid='0') AND s.time <= NOW()";
$home_msg = "";
} else {
$qdb = "WHERE topic='$new_topic' AND s.time <= NOW()";
$result_a = $db->sql_query("SELECT topictext FROM ".$prefix."_topics WHERE topicid='$new_topic'");
$row_a = $db->sql_fetchrow($result_a);
$numrows_a = $db->sql_numrows($result_a);
$topic_title = stripslashes(check_html($row_a['topictext'], "nohtml"));

Дальше находим:

$result = $db->sql_query("SELECT sid, catid, aid, title, time, hometext, bodytext, comments, counter, topic, informant, notes, acomm, score, ratings FROM ".$prefix."_stories $qdb $querylang ORDER BY sid DESC limit $storynum");
while ($row = $db->sql_fetchrow($result)) {
$s_sid = intval($row['sid']);
$catid = intval($row['catid']);
$aid = stripslashes($row['aid']);
$title = stripslashes(check_html($row['title'], "nohtml"));
$time = $row['time'];
$hometext = stripslashes($row['hometext']);
$bodytext = stripslashes($row['bodytext']);
$comments = stripslashes($row['comments']);
$counter = intval($row['counter']);
$topic = intval($row['topic']);
$informant = stripslashes($row['informant']);
$notes = stripslashes($row['notes']);
$acomm = intval($row['acomm']);
$score = intval($row['score']);
$ratings = intval($row['ratings']);
if ($catid > 0) {
$row2 = $db->sql_fetchrow($db->sql_query("SELECT title FROM ".$prefix."_stories_cat WHERE catid='$catid'"));
$cattitle = stripslashes(check_html($row2['title'], "nohtml"));
}
getTopics($s_sid);
formatTimestamp($time);

заменяем на это:

if ($pagenum == "") { $pagenum = 1; }
$offset = ($pagenum-1) * $storynum;
$offset = intval($offset);
$storynum = intval($storynum);
$sql = "SELECT sid, s.catid, s.aid, s.title, s.time, s.hometext, s.bodytext, s.comments, s.counter, s.topic, s.informant, s.notes, s.acomm, s.score, s.ratings, c.title, t.topicid, t.topicname, t.topicimage, t.topictext, a.email, a.url FROM ".$prefix."_stories AS s LEFT JOIN ".$prefix."_stories_cat AS c on (s.catid=c.catid) LEFT JOIN ".$prefix."_topics AS t on (s.topic=t.topicid) LEFT JOIN ".$prefix."_authors AS a on (s.aid=a.aid) $qdb $querylang ORDER BY s.time DESC LIMIT $offset, $storynum";
$result = $db->sql_query($sql);
while (list( $s_sid , $catid, $aid, $title, $time, $hometext, $bodytext, $comments, $counter, $topic, $informant, $notes, $acomm, $score, $ratings, $ctitle, $topicid, $topicname, $topicimage, $topictext, $aemail, $aurl)=$db->sql_fetchrow($result)) {
if ($catid > 0) {
$cattitle = $ctitle;
}
formatTimestamp($time);

все!

Правда тут еще использован кусоек кода от хака pagenum но все впринципе работает я думаю если он кому то мешает то не составит труда вырезать из данного кода лишнее!
 
Будь проще и люди к тебе потянутся :)


kor вне форума      Старый #10  
kor
Участник+
Регистрация: 21.10.2005
Сообщения: 198


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для kor Найти все сообщения от kor Добавить kor в список друзей  
16.01.2006, 12:00

праивльно я понял что это надо изменять в модули news index.php
 
Engine: php-nuke 7.9 phpbb: 2.0.17


Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
кто какие моды и модули для нюки вы используете ssmol Общение по форуму 4 30.12.2005 02:35
Перенос Нюки с Денвера в WinDOS на Apache в Linux... Mihanich Настройка и Изменение 9 23.08.2005 14:22
оптимизация нуке для поисковиков awarior Настройка и Изменение 7 29.04.2005 22:28


Часовой пояс GMT +4, время: 16:04.


На Верх
Рейтинг@Mail.ru