Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   Настройка и Изменение (http://forum.mynuke.ru/forumdisplay.php?f=11)
-   -   Обсуждение темы "Оптимизация PHP-NUKE" (http://forum.mynuke.ru/showthread.php?t=1273)

Soniks 12.02.2006 21:46

Обсуждение темы "Оптимизация PHP-NUKE"
 
В данной теме предлагаю обсуждать вопросы, связанные с темой Оптимизация PHP-NUKE.

kor 14.02.2006 12:19

в данной статье Вы использовали свои разработки или все таки другие( есть подозрение что часть код или даже куски кода взяты с cms конкурентов)

Master 14.02.2006 12:22

Soniks Ну ты даешь вобще молоток!!! круто я в восторге!

а что с модулем новостей его будешь переделывать? ото он тоже прожорлевый!

kor 14.02.2006 12:34

кстати наконец то сайт ваш начал грузиться быстро( оптимизацию в народ-----)

Soniks 14.02.2006 14:31

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

kentbrn 14.02.2006 17:31

если переделают модуль новостей будет просто офигенно!!!!

kor 14.02.2006 18:54

kentbrn его уже давно переделали. у меня он делает 1 запрос.. и я об этом писал на форуме как и что надо сделать

kentbrn 14.02.2006 19:34

у тебя один а у меня все 33 ! пипеццц!

kor 14.02.2006 19:41

ну так ищи мои стать по оптимизации и изменяй

Sturla 14.02.2006 22:29

Прокоментерию статью с моей точки зрения и так

Вот не понимаю зачем вот етот кусок кода в функции blocks

if ($view == 0) {
render_blocks($side, $value);
} elseif ($view == 1 AND is_user($user) || is_admin($admin)) {
render_blocks($side, $value);
} elseif ($view == 2 AND is_admin($admin)) {
render_blocks($side, $value);
} elseif ($view == 3 AND !is_user($user) || is_admin($admin)) {
render_blocks($side, $value);
}

если можно зделать так
if (is_admin($admin)) {
$view = "";
} elseif (is_user($user)) {
$view = "AND ((view = '0') OR (view = '1'))";
} else {
$view = "AND ((view = '0') OR (view = '3'))";
}
$result = $db->sql_query("SELECT bid, bkey, title, content, url, bposition, weight, blockfile, view, expire, action, subscription, refresh, time FROM ".$prefix."_blocks WHERE active='1' $view $querylang ORDER BY bposition, weight ASC");

И вместо етого куска кода
if ($view == 0) {
render_blocks($side, $value);
} elseif ($view == 1 AND is_user($user) || is_admin($admin)) {
render_blocks($side, $value);
} elseif ($view == 2 AND is_admin($admin)) {
render_blocks($side, $value);
} elseif ($view == 3 AND !is_user($user) || is_admin($admin)) {
render_blocks($side, $value);
}

оставим токо
render_blocks($side, $value);

Soniks 15.02.2006 02:00

Sturla пожалуйста, можно и так, в моем случаи мы получаем выборку всех действующих блоков, что может нам понадобиться в будущем, тем более чем меньше параметров WHERE, тем быстрее произойдет выборка. Ваш предложенный метод тоже верен и не чуть не хуже :smile:

kentbrn 15.02.2006 17:25

Народ вот сидел капался в модуле Новостей если удалить из файла index.php в function theindex
getTopics($s_sid); эту строку то кол-во запросов падает сразу на 25 штук однако
formatTimestamp($time);
вот и вся модернизация!

что еще можно придумать !?:)

Soniks 15.02.2006 17:37

kentbrn
Цитата Народ вот сидел капался в модуле Новостей если удалить из файла index.php в function theindex
getTopics($s_sid); эту строку то кол-во запросов падает сразу на 25 штук однако

я же написал, что от этой функции избавимся, когда будем оптимизировать новости.
Подождите, все будет, что вы "раньше батьки в пекло лезете" :smile:

007 15.02.2006 19:28

У меня произошла проблема при оптимизации сделал этот пункт

2. Изменим вызов конфиг файла и подключение к бд, находим:

и у меня перестал работать баннер...

И еще при оптимизации админки

Немного изменим блок администратора, но по-прежнему он будет производить 7 запросов к БД, такова цена информативности, тем более что это будет только для администратора и поэтому не столь значимо, находим:

Сайт вообще перестал работать ошибок не выводил потому что сайт вообще не генерировался... html пустой был...

У меня нюк 7,9 без патчей !

kentbrn 15.02.2006 20:18

Немного изменим блок администратора, но по-прежнему он будет производить 7 запросов к БД, такова цена информативности, тем более что это будет только для администратора и поэтому не столь значимо, находим:

Сайт вообще перестал работать ошибок не выводил потому что сайт вообще не генерировался... html пустой был...
у меня такая же фигня но я вернул как и было раньше всеравно теже 7 запросов :))

007 15.02.2006 22:12

........

http://gsm-news.ru/backend.php не могу понять как это исправить ?

Warning: fopen(NUKE_PATHcache/config): failed to open stream: No such file or directory in /home/orenburg/www/gsm-news.ru/html/mainfile.php on line 162

Warning: fwrite(): supplied argument is not a valid stream resource in /home/orenburg/www/gsm-news.ru/html/mainfile.php on line 163

Warning: fclose(): supplied argument is not a valid stream resource in /home/orenburg/www/gsm-news.ru/html/mainfile.php on line 164

Warning: fopen(NUKE_PATHcache/.htaccess): failed to open stream: No such file or directory in /home/orenburg/www/gsm-news.ru/html/mainfile.php on line 167

Warning: fwrite(): supplied argument is not a valid stream resource in /home/orenburg/www/gsm-news.ru/html/mainfile.php on line 168

Warning: fclose(): supplied argument is not a valid stream resource in /home/orenburg/www/gsm-news.ru/html/mainfile.php on line 169


Warning: themeheader(banners.php): failed to open stream: No such file or directory in /home/orenburg/www/gsm-news.ru/html/themes/gsm-news/theme.php on line 87

Warning: themeheader(): Failed opening 'banners.php' for inclusion (include_path='.:/home/orenburg/') in /home/orenburg/www/gsm-news.ru/html/themes/gsm-news/theme.php on line 87


???

Soniks 15.02.2006 22:39

Цитата: Сообщение от kentbrn

Сайт вообще перестал работать ошибок не выводил потому что сайт вообще не генерировался... html пустой был...
у меня такая же фигня но я вернул как и было раньше всеравно теже 7 запросов :))

видно же что не перенеслась строка в коде, когда я публиковал и стала комментарием, сейчас исправил.

Sturla 15.02.2006 23:05

Цитата: Сообщение от Soniks
Sturla пожалуйста, можно и так, в моем случаи мы получаем выборку всех действующих блоков, что может нам понадобиться в будущем, тем более чем меньше параметров WHERE, тем быстрее произойдет выборка. Ваш предложенный метод тоже верен и не чуть не хуже :smile:

И не только выборка но и не выполняетса кучу раз функции is_admin и is_user они и так выполняютса немеряно раз

kentbrn 16.02.2006 09:19

Вложений: 1
предлогаю оптимизировать блок последних сообщений с форума .. ну и что в нем есть ... а то 17 запросов енто много! вот он и сам .....

krotish 16.02.2006 14:48

провел оптимизацию. всего 109 запросов. при этом выключил темы и группы. результатом не впечатлён. :(
дайте ещё советов, пожалуйста, как уменьшить кол-во запросов.

kentbrn 16.02.2006 16:42

у меня оптимизировалось до 30 запросов!

kor 16.02.2006 17:45

господа!!! если вы оптимизируете систему это незначит что у вас будет 8 запросов!!! смотрите что у вас установлено...

007 16.02.2006 19:44

куча проблема после опитимизации
 
Начнем:

1. Проблема с модулем Рекламой Вот он http://phpnuke.ru/modules.php?name=...ew_file&lid=728 он просто начинает косить страницу в хлам... не грузится вся страница вообщем... Отключил блок на главной все нормально стало захожу через админку выдает ошибку

Fatal error: Call to undefined function: sql_query() in /home/orenburg/www/gsm-news.ru/html/admin/modules/info-block.php on line 20

залез в код нашел вот это:

Цитата $result = sql_query( "select radminsuper from $prefix"._authors." where aid='$aid'", $dbi );
Какая тут ошибка ?

А до этого обнаружил то что блок не хочет работать после оптимизации этотго этапа:

Изменим вызов конфиг файла и подключение к бд, находим:

Че делать ? как быть ?

Soniks 16.02.2006 20:09

Цитата если вы не используете модули или блоки от старых версий phpnuke, то удалите эти строчки, это позволит снизить нагрузку к БД
читайте внимательнее, у вас как раз блок для старых версий phpnuke

krotish 16.02.2006 20:20

а у меня перестали пахать новости.

007 16.02.2006 20:27

Цитата $result = sql_query( "select radminsuper from $prefix"._authors." where aid='$aid'", $dbi );


Да я знаю что от старых версий...но как мне сделать чтобы она работала теперь после этого ?

Soniks 16.02.2006 20:40

007 не удалять строчку, что здесь не понятного то, или переводите блок под новый класс подключения к бд, по анологии с http://www.slaed.net/index.php?name...=article&sid=18

007 16.02.2006 21:48

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

Soniks 16.02.2006 22:33

007 просто будьте внимательны! и все читайте что пишут в теме по оптимизации

И перестаньте создавать каждый раз новые темы, иначе получите предупреждение!

Kxu 17.02.2006 14:12

Soniks , я тут тоже немного задумываюсь об оптимизации!!!! Меня интересует, вот создаем реляционные бд, все с виду хорошо, и......потом, создаю формы для ввода в бд, а там различные селек выбор, в котором все отображается благодаря именно этим реляционным бд, где все понятно...НО!!!!!!!!!!!!!!!! А тут вдруг много всего, и куча обращений к бд!!!!! и сайт может умереть, наверное, боюсь вот....Может у кого какие идей!!!! у меня мысль про строчки и массивы!!!! Как????

kentbrn 17.02.2006 16:54

block-Sommaire.php просьба оптимизировать этот блок... 10 запросов ент многО!

Master 17.02.2006 19:39

отключи там вывод новых личных сообщений и поиск нового в разделах сайта! и будет нормально около 3 запросов

Soniks 17.02.2006 19:52

Kxu с конкретизируйте свой вопрос, а то вообще ничего не понятно

kentbrn 17.02.2006 19:52

отключил 7 запросов стал

kentbrn 18.02.2006 18:29

про оптимизацию новостей ! новости при нулевом выводей новстей на главной запросов идет 6 штук аж
при выводе 8 новостей 59 запросов, однако нада еще оптимизировать!

точнее 14... 59 эт вообщем на главной запросов

Soniks 18.02.2006 19:07

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

kentbrn 18.02.2006 19:38

как не может быть ну во смотри беру открываю главную страницу на ней модуль новостей по умолчанию, всего 59 запросов при 8 новостях на главной, захажу в админку ставлю выводит новостей 0 штук на главной , затем на главной показывает 51 запрос,
дальше захожу в админку ставлю по умолчанию на главной модуль который не кушает запросы и смотрю . показывает 44 запроса ! итог модуль кушает при 8 новостях 8 запросов , при 0 новостей 7 запросов т.к. 51-44=7 штук!
Итог 59-44=15 запросов ... много!

Master 18.02.2006 19:44

kentbrn У тебя просто наверное еще включен блок опроса на главной он тоже много хавает стандартный block-Survey

kentbrn 18.02.2006 19:54

юдлкчто эт и как отключить!?

Kxu 20.02.2006 12:04

Soniks ,так, реляционная база данных подразумевает несколько таблиц, связанных м\у собой , напримр, база всех магазинов, содерожит столбец район, а все районы храним в отдельной таблице! так вот, в форме селекторный список, обращаемся к таблице районов!!!! А если много посетителей, много обращений в каждый раз, может кто-нидь знает какую-нидь хитрость избежать всего такого множественного обращения к таблицам базы. Вот я знаю такое, что некоторые строки используют с разделителями ,например, районы перечисляют в виде одной строки в таблице, а затем образуют массив
Код:
$cid="".$c1."|".$c2."|".$c3.""; $cidA = explode("|", $cid);
А потом и работают с массивом, все проще, чем с таблицой связываться. Так, кто-нибудь делал??? Поделитесь опытом!!!


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

Copyright © 2005 by Soniks