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)

Val 25.08.2007 22:52

При изменении вызова конфиг файла и подключении к бд в Mainfile.php меняю

if (defined('FORUM_ADMIN')) {
require_once("../../../config.php");
require_once("../../../db/db.php");
} elseif (defined('INSIDE_MOD')) {
require_once("../../config.php");
require_once("../../db/db.php");
} else {
require_once("config.php");
require_once("db/db.php");
/* FOLLOWING TWO LINES ARE DEPRECATED BUT ARE HERE FOR OLD MODULES COMPATIBILITY */
/* PLEASE START USING THE NEW SQL ABSTRACTION LAYER. SEE MODULES DOC FOR DETAILS */
require_once("includes/sql_layer.php");
$dbi = sql_connect($dbhost, $dbuname, $dbpass, $dbname);
}

на

if (defined('FORUM_ADMIN')) {
define('NUKE_PATH', '../../../');
} elseif (defined('INSIDE_MOD')) {
define('NUKE_PATH', '../../');
} else {
define('NUKE_PATH', './');

/* FOLLOWING TWO LINES ARE DEPRECATED BUT ARE HERE FOR OLD MODULES COMPATIBILITY */
/* PLEASE START USING THE NEW SQL ABSTRACTION LAYER. SEE MODULES DOC FOR DETAILS */
require_once("includes/sql_layer.php");

/*----------Проблемная строка первоначально----------------------*/

$dbi = sql_connect($dbhost, $dbuname, $dbpass, $dbname);

/*----------Проблемная строка первоначально----------------------*/

}
require_once(NUKE_PATH."config.php");
require_once(NUKE_PATH."db/db.php");


/*-------Перенос строки сюда--------------------------*/

$dbi = sql_connect($dbhost, $dbuname, $dbpass, $dbname);

/*-------Перенос строки сюда--------------------------*/

В админпанели в управлении модулями ссылка Форумы (администрирование форума) работает, но не работает установленный блок "Reklama"
при переносе проблемной строки блок работает, а ссылка на администрирование форума нет (белый экран).
Замена кода помогает снизить количество запросов на 1 (мало, но все таки).
как изменить код?
:mad:

Soniks 28.08.2007 11:49

Правильнее так:
PHP код:
 if (defined('FORUM_ADMIN')) {
 
define('NUKE_PATH''../../../');
 require_once(
NUKE_PATH."config.php");
 require_once(
NUKE_PATH."db/db.php");
} elseif (
defined('INSIDE_MOD')) {
 
define('NUKE_PATH''../../');
 require_once(
NUKE_PATH."config.php");
 require_once(
NUKE_PATH."db/db.php");
} else {
 
define('NUKE_PATH''./');
 require_once(
NUKE_PATH."config.php");
 require_once(
NUKE_PATH."db/db.php");
 require_once(
"includes/sql_layer.php");
 
$dbi sql_connect($dbhost$dbuname$dbpass$dbname);


Val 29.08.2007 02:47

Еще одна неточность появилась при изменении is_admin,is_user и is_group на предложенные Soniks'ом оптимизированная функция is_group не позволяет проверять пользователей на доступ в тот или иной модуль (в модуль добавить новость уже имеют доступ все зарегестрировавшиеся , а не члены определенной группы),а если функция стандартная - все в порядке....

popkin 09.11.2007 20:40

Огромное СПАСИБО Soniks-у за статью!
После оптимизации NUKE 8.0 по принципам изложенным в статье Soniks-а - ядро системы делает 0 запросов!
Кеш рулит! Кешируйте все что только можно и обновляйте его по мере необходимости.
Только смотрите чтобы у вашего хостера узким местом не оказалась файловая система.

GAMMA 01.02.2008 00:10

доброго всем времени суток!
я оптимизировал нюку более года назад по информации отсюда. под анонимом было 48 запросов, под юзером 53. на днях хостер перенёс сайт на новый сервак для разгрузки старого и ещё потому что я поменял тарифный план на 1500 метров. так вот почему то сразу на 40 запросов увеличилось количество запросов со всех страниц. я так подозреваю что какой то из блоков или несколько сразу стали давать больше запросов. связанно это может быть с тем что на новом сервере стоит более новая бд (помоему последняя версия). кто нибудь сталкивался с подобным явлением?

GAMMA 04.02.2008 21:08

Упс... Видимо никто не сталкивался. Удалось убрать 6 запросов заменив блок Shout-blocks старой версии на новый. Но он всё равно делает аж 34 запроса! Для уменьшения нагрузки выключил его показ для гостей. Под анонимом сейчас 43 запроса. Где же копать?

Soniks 05.02.2008 21:44

GAMMA странное явление, может вы что то поставили и забыли про это?

GAMMA 06.02.2008 21:28

В том то и дело что ничего не ставил. По крайней мере последние пол года. Есть блоки со статичным содержанием которые никак на количество запросов не влияют. Пришло письмо от хостера что сайт перевели на новый сервер с просьбой проверить всё ли нормально работает. Я проверил, всё нормально, а на количество запросов не посмотрел. Обычно я в хэйдер смотрю в начале недели, там счётчики и показатели ТИЦ PR - Яндекс любит по понедельникам новые данные выдавать. И только тогда увидел. За неделю до этого всё было нормально. С блоками block-CPG-Random_pictures.php , block-Voting.php , block-Shout_Box.php , block-4nChat1.php , block-Birthday.php , block-Forums.php , block-User_Info.php было под анонимом 48 запросов, под юзером 53 запроса.
Когда стало 93 то я отключением вычислил что больше всего запросов пошло именно с block-Shout_Box.php . Как только я его выключил для анонимов вместе с блоком block-4nChat1.php то стало на главной всего 43. Под юзером после замены block-Shout_Box.php стало 87. Я просто нашёл немного более новую чем у меня была версию модуля с блоком, но я заменил только блок, так как модуль переделывал под корректное отображение времени сообщения для юзеров и анонимов.
У меня подозрение что данная проблема как то связанна с тем что на новом сервере стоит новая версия BD MySQL 5.0.45 Так же стоит PHP 5.2.5 . Апач версии 2.0.61 Lunix 2.6
И что самое интересное, при таком количестве запросов у меня сайт стал быстрее открываться. Среднее время когда у меня интернет не глючит 0.120 секунды.
Может это проблема в некоректном отображении количества запросов? Количество осталось прежнее, просто счётчик врёт? Из за каких то нестандартных настроек сервера или непредусмотренных разработчиками ньюансов, ведь Нюку делали под старые БД и версии PHP.

Soniks 11.02.2008 10:53

GAMMA ну, быстрее открываться, это связано что сервер пошустрее работает, чем предыдущий.
Количество запросов от версии БД так же не будет зависеть, т.к. подсчет их идет до того момента как он будет отправлен в БД, и не зависит, обработает его БД ли нет.
А вот версия php может сыграть свою роль, например какое-то условие не сработать, вследствие чего выполнить (по коду) какой-либо запрос. Здесь необходимо все пересматривать в ручную и переделывать скрипты под требования 5-й версии и БД и PHP для более правильной работы.
Может, поможет найти причину включение отображение Notice

GAMMA 13.02.2008 23:46

спасибо, попробую покопаться.


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

Copyright © 2005 by Soniks