View Full Version : запросы к бд
вот в версии нюки 7.3 можно легко сделать в низу страницы, там где написано про генерацию страницы количество запрсов к бд а также время обращения к бд. а вот в 7.6 что-то у меня такого не получилось. может быть нужно как-то по другому, отличному от 7.3 исправления вносить?
msa да нет, все тоже самое. Сейчас покажу как это сделать.
Открывашь footer.php
Находишь (29):
$total_time = ""._PAGEGENERATION." ".substr($total_time,0,4)." "._SECONDS."";
Заменяешь на:
global $db;
$sqlnums= $db->num_queries;
$total_time = ""._PAGEGENERATION." ".substr($total_time,0,4)." "._SECONDS." и $sqlnums запросов к базе данных.";
$all=$db->all_bd;
$total_time.=' Время запроса к БД: '.$all;
Открываешь db/mysql.php
Находишь(34):
var $num_queries = 0;
Ниже добавляешь:
var $all_bd=0;
Найдите(107):
$this->query_result = @mysql_query($query, $this->db_connect_id);
}
if($this->query_result)
{
Замените на:
$time1 = microtime();
$this->query_result = @mysql_query($query, $this->db_connect_id);
$time2 = microtime();
$time3= explode(" ",$time1);
$time4= explode(" ",$time2);
$time_result=(float)$time4[1]-(float)$time3[1]+(float)$time4[0]-(float)$time3[0];
$this->all_db+=$time_result;
}
if($this->query_result)
{
$this->num_queries += 1;
Сохраните и закройте все файлы.
Результат будет выглядеть так:
Открытие страницы: 0.44 секунды и 159 запросов к базе данных. Время запроса к БД: 0.260696
что-т оне помогло..вернее так, открытие страницы: 0.44 секунды и 159 запросов к базе данных. время запроса к бд: 0. и везде время запроса нулевой, кудаб не тыкнул
msa нюка какой патч содержит?
прикрепи свой фаил mysql.php - я его гляну
патч 2.9. причем пробовал на разных версиях нюки и на стандартной и от вектора и даже на какойто забугорной.
вот сам файлик
и чего ты прекрепил обычный я ж просил прекрепить видоизменненый тобой уже, а не чистый.
Ну да ладно вот тебе и измененый footer.php и mysql.php. Просто скопируй в директорию с нюкой.
Может кому еще пригодится.
p.s.: файлы для php-nuke7.6+pached2.9
А вот еще один вопросик. Чисто случайн онашел на одном сайте http://www.lenon.com/ прикольную штуку. Ну может не совсем прикольную, и может она вообще не нужнаЮ н овсеже интересно можно ведь такое сделать. Говорю я об том чт овнизу страницы выводится
Script generation time: 1.7434 seconds ( PHP 91% - MySQL 9% )
SQL queries: 115 | Page views last 5 minutes: 28 | Server load: 55%
Интересно ведь наверное посмотреть чего и как нагружается :)
msa
это тоже самое что ты имеещь у себя нга сайте только там расчитано по времени процентное отношение генирации php и mysql, из нашей строки и так понятно, дается общее время генирации страницы и время запросов к базе т.е. mysql сл-но все остальное php гененровался,
просмотр страниц за последние пять минут, а оно вам это надо?
загрузка предоставляет хостер
ну я просто спросил. интересно стало, вот и спросил :)
а какэто сделать?
Script generation time: 1.6074 seconds (PHP 63% - MySQL 37%)
Queries: 139 | Views last 5 mins: 125 | Server load: Passable (3.39)
hedgehog
13.02.2006, 15:07
не получается открыть выше приложенный файл: файлы для php-nuke7.6+pached2.9
пользуйтесь другими браузерами или архиваторами, фаил рабочий
GreatXSP
19.02.2006, 04:05
хороший у вас сайт и форум тоже, вот только не приходит письмо с напоминанием пароля - пришлось перерегистрироваться.
вопрос - как сделать счетчик в версии 7.9 ???
там просто нет таких строк.
GreatXSP письма приходят, возхможно с задержкой или же указали не правильный e-mail при регистрации.
там просто нет таких строк. как ни странно но они там есть, это я про стандартную версию 7.9, с патчами возможно немного отличаеться но все по аналогии
global $license; вот есть такая переманная, где её можно посмотреть??? вот она-то и выводиться внизу!!!Soniks , помоги пожалуйста сориентироваться, где описание этих всех глобальных переменных!!!!!!
GreatXSP
20.02.2006, 22:05
Нашел, сорри
это в функции function sql_query ?
GreatXSP часть кода изменять надо в этой функции.
Kxu описания нет, может тока на оф сайте в доках.
Soniks, ладненько, гляну!!!! а можно ли сделать глобальными переменными значения атрибутов пользовательской таблицы, чтобы было, а я везде использовала????
Kxu можно загнать нужные параметры в массив а его делать везде глобальным
Soniks , в пределах одной программы да! понятно, я так и сделала, при своей оптимизации, так здорова,запросы в 2 раза сократились!!!! прелесть!!!! а чтобы использовать этот массив в др программах(модулях)???? просто же не опишешь global $c10.....?????? как сделать чтобы эти массивы, как базу движок видел????
Kxu ну почему если вы уверены что данный массив был вызван до скажем вызова самого модуля, то просто global и он будет вам доступен для работы, можно делать проверки на наличие этого массива.
другой вариант это делать скрипт на классах, это более сложно и надо хорошо разбираться в ООП
Alexfilus
24.02.2006, 13:36
А как сделать так чтобы в строке: Открытие страницы: 0.18 секунды и 10 запросов к базе данных.
Всю строку видел бы только админ, а обычный пользователь или гость только Открытие страницы: 0.18 секунды. или вообще её не видел?
PHP-Nuke-7.9_3.1_Rus_NY
сделайте так:
global $db, $admin;
if(is_admin($admin)){
$sqlnums= $db->num_queries;
$total_time = ""._PAGEGENERATION." ".substr($total_time,0,4)." "._SECONDS." и $sqlnums запросов к базе данных.";
$all=$db->all_bd;
$total_time.=' Время запроса к БД: '.$all;
}
Alexfilus
25.02.2006, 14:56
так не получается: становится время запроса к бд: 0
Alexfilus видимо вы что то не так сделали, т.к. этой строчки вообще не должно быть
Alexfilus
26.02.2006, 14:42
если я захожу под админом то строка такая: открытие страницы: 0.16 секунды и 10 запросов к базе данных. время запроса к бд: 0.02177.
а если как гость или пользователь, то: 0.135556936264
Alexfilus значит у вас выводиться еще какойто парамеетр, включите его так же в условие if? которое я дал выше.
Alexfilus
27.02.2006, 11:41
Гм.. Я вообще-то не владею РНР, если вас не затруднит взгляните на мой footer.php и исправьте, или хотя бы подскажите конкретней что, и куда нужно вставлять.
Уважаемый администратор. Очень прошу, выложите код изменений файлов для версии PHP-Nuke 7.9
Alexander-V-Sh
23.06.2006, 23:40
Alexfilus
Попробуй так
Soniks
А в каких файлах что добавить, чтобы вывести время запроса к бд?
Я читал статью и сделал, но там про это не говорилось, только генерация и кол-во обращений.
спасибо, но не получается сделать чтобы юзер видел только время открытия страницы, а админ - время, кол-во запросов к базе и время запроса к базе
Alexander-V-Sh
24.06.2006, 00:17
vvmuz
Сори, запутался. Нельзя делать всетаки 10 дел одновременно :) Сейчас подправлю и обновлю тот файл.
----
попробуй, не проверял у себя, но должно работать.
Еще просьба, пришли плиз файлы db/mysql.php и includes/sql_layer.php в них помоему должно быть Время запросов, посмотрю как там сделано.
Почта: mail-viewer[@]tut.by
Здорово. Все работает. Огромное спасибо. Понадобились только 2 файла: footer.php и db/mysql.php
Все как в этой ветке, но только вроде маленькая ошибка: надо писать не bd, а db
читал, читал. никак не получается. вообще ничего не выводится. стоит нюка 7.9 3 .2.20
Yeti видимо что то вы уже не так делаете, или что то упустили
Yeti видимо что то вы уже не так делаете, или что то упустили
Даже заливал файлы, которые здесь выкладывали вместо своих. Не работает! Как обычно внизу лицензия выводится.
Yeti попробуйте тему поменять, стандартную поставить
здраствуйте, а как сделать, что бы в прописать это именно в тот шаблон, которы я использую, а то я заметил это действует только на родной теме.
спасибо!
H_U_L_K вам в теме надо вывести функцию footmsg() http://forum.mynuke.ru/search.php?searchid=12350
сделал всё, как сказано, но проблема та же. всегда время запроса к бд: 0.
нюка 8.0.
файл во вложении
Кстати та же проблема - запросов к БД 0, хотя файл правил все как надо этот вот mesql.php, а нифига. Время и число запросов выводит, а время к бд - нет.
В 35-ой строчке ошибка:
var $all_bd=0;
Замени на
var $all_db=0;
Да кстати. Ошибка была не в mysql.php, а в файле footer.php почему-то. Когда поставил эти оба файлы из архива прикрепленного, все заработало.
После исправления файла mysql вместо сотрывка строчки: "Время запроса к БД: 0" вижу "Время запроса к БД: ". Проще говоря, теперь совсем цифры не показывает
FaWuS, проверьте свой footer.php
Скорее всего там тоже неправильно имя переменной указано.
Должно быть везде "all_db;"
Ошибка была в исходном коде, который писал Соникс.
Вместо:
$all=$db->all_bd;
Должно быть:
$all=$db->all_db;
После этого исправления всё заработало! Спасибо всем!
MyNuke.ru