PDA

View Full Version : запросы к бд


msa
12.03.2005, 16:20
вот в версии нюки 7.3 можно легко сделать в низу страницы, там где написано про генерацию страницы количество запрсов к бд а также время обращения к бд. а вот в 7.6 что-то у меня такого не получилось. может быть нужно как-то по другому, отличному от 7.3 исправления вносить?

Soniks
12.03.2005, 21:52
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

msa
16.03.2005, 16:27
что-т оне помогло..вернее так, открытие страницы: 0.44 секунды и 159 запросов к базе данных. время запроса к бд: 0. и везде время запроса нулевой, кудаб не тыкнул

Soniks
16.03.2005, 17:15
msa нюка какой патч содержит?
прикрепи свой фаил mysql.php - я его гляну

msa
25.03.2005, 13:34
патч 2.9. причем пробовал на разных версиях нюки и на стандартной и от вектора и даже на какойто забугорной.
вот сам файлик

Soniks
25.03.2005, 13:45
и чего ты прекрепил обычный я ж просил прекрепить видоизменненый тобой уже, а не чистый.
Ну да ладно вот тебе и измененый footer.php и mysql.php. Просто скопируй в директорию с нюкой.
Может кому еще пригодится.

p.s.: файлы для php-nuke7.6+pached2.9

msa
01.04.2005, 17:39
А вот еще один вопросик. Чисто случайн онашел на одном сайте 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%
Интересно ведь наверное посмотреть чего и как нагружается :)

Soniks
01.04.2005, 17:49
msa
это тоже самое что ты имеещь у себя нга сайте только там расчитано по времени процентное отношение генирации php и mysql, из нашей строки и так понятно, дается общее время генирации страницы и время запросов к базе т.е. mysql сл-но все остальное php гененровался,
просмотр страниц за последние пять минут, а оно вам это надо?
загрузка предоставляет хостер

msa
01.04.2005, 20:20
ну я просто спросил. интересно стало, вот и спросил :)

kor
27.12.2005, 13:55
а какэто сделать?

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

Soniks
14.02.2006, 01:22
пользуйтесь другими браузерами или архиваторами, фаил рабочий

GreatXSP
19.02.2006, 04:05
хороший у вас сайт и форум тоже, вот только не приходит письмо с напоминанием пароля - пришлось перерегистрироваться.

вопрос - как сделать счетчик в версии 7.9 ???

там просто нет таких строк.

Soniks
19.02.2006, 04:13
GreatXSP письма приходят, возхможно с задержкой или же указали не правильный e-mail при регистрации.
там просто нет таких строк. как ни странно но они там есть, это я про стандартную версию 7.9, с патчами возможно немного отличаеться но все по аналогии

Kxu
20.02.2006, 13:14
global $license; вот есть такая переманная, где её можно посмотреть??? вот она-то и выводиться внизу!!!Soniks , помоги пожалуйста сориентироваться, где описание этих всех глобальных переменных!!!!!!

GreatXSP
20.02.2006, 22:05
Нашел, сорри
это в функции function sql_query ?

Soniks
21.02.2006, 14:24
GreatXSP часть кода изменять надо в этой функции.
Kxu описания нет, может тока на оф сайте в доках.

Kxu
21.02.2006, 17:06
Soniks, ладненько, гляну!!!! а можно ли сделать глобальными переменными значения атрибутов пользовательской таблицы, чтобы было, а я везде использовала????

Soniks
21.02.2006, 19:26
Kxu можно загнать нужные параметры в массив а его делать везде глобальным

Kxu
22.02.2006, 10:38
Soniks , в пределах одной программы да! понятно, я так и сделала, при своей оптимизации, так здорова,запросы в 2 раза сократились!!!! прелесть!!!! а чтобы использовать этот массив в др программах(модулях)???? просто же не опишешь global $c10.....?????? как сделать чтобы эти массивы, как базу движок видел????

Soniks
22.02.2006, 17:15
Kxu ну почему если вы уверены что данный массив был вызван до скажем вызова самого модуля, то просто global и он будет вам доступен для работы, можно делать проверки на наличие этого массива.
другой вариант это делать скрипт на классах, это более сложно и надо хорошо разбираться в ООП

Alexfilus
24.02.2006, 13:36
А как сделать так чтобы в строке: Открытие страницы: 0.18 секунды и 10 запросов к базе данных.
Всю строку видел бы только админ, а обычный пользователь или гость только Открытие страницы: 0.18 секунды. или вообще её не видел?
PHP-Nuke-7.9_3.1_Rus_NY

Soniks
24.02.2006, 15:55
сделайте так:

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

Soniks
25.02.2006, 16:13
Alexfilus видимо вы что то не так сделали, т.к. этой строчки вообще не должно быть

Alexfilus
26.02.2006, 14:42
если я захожу под админом то строка такая: открытие страницы: 0.16 секунды и 10 запросов к базе данных. время запроса к бд: 0.02177.
а если как гость или пользователь, то: 0.135556936264

Soniks
27.02.2006, 04:48
Alexfilus значит у вас выводиться еще какойто парамеетр, включите его так же в условие if? которое я дал выше.

Alexfilus
27.02.2006, 11:41
Гм.. Я вообще-то не владею РНР, если вас не затруднит взгляните на мой footer.php и исправьте, или хотя бы подскажите конкретней что, и куда нужно вставлять.

vvmuz
23.06.2006, 22:21
Уважаемый администратор. Очень прошу, выложите код изменений файлов для версии PHP-Nuke 7.9

Alexander-V-Sh
23.06.2006, 23:40
Alexfilus
Попробуй так

Soniks
А в каких файлах что добавить, чтобы вывести время запроса к бд?
Я читал статью и сделал, но там про это не говорилось, только генерация и кол-во обращений.

vvmuz
24.06.2006, 00:13
спасибо, но не получается сделать чтобы юзер видел только время открытия страницы, а админ - время, кол-во запросов к базе и время запроса к базе

Alexander-V-Sh
24.06.2006, 00:17
vvmuz
Сори, запутался. Нельзя делать всетаки 10 дел одновременно :) Сейчас подправлю и обновлю тот файл.

----
попробуй, не проверял у себя, но должно работать.

Еще просьба, пришли плиз файлы db/mysql.php и includes/sql_layer.php в них помоему должно быть Время запросов, посмотрю как там сделано.
Почта: mail-viewer[@]tut.by

vvmuz
24.06.2006, 00:38
Здорово. Все работает. Огромное спасибо. Понадобились только 2 файла: footer.php и db/mysql.php

Все как в этой ветке, но только вроде маленькая ошибка: надо писать не bd, а db

Yeti
12.07.2006, 22:49
читал, читал. никак не получается. вообще ничего не выводится. стоит нюка 7.9 3 .2.20

Soniks
17.07.2006, 12:36
Yeti видимо что то вы уже не так делаете, или что то упустили

Yeti
22.07.2006, 23:25
Yeti видимо что то вы уже не так делаете, или что то упустили


Даже заливал файлы, которые здесь выкладывали вместо своих. Не работает! Как обычно внизу лицензия выводится.

Soniks
25.07.2006, 03:26
Yeti попробуйте тему поменять, стандартную поставить

H_U_L_K
07.08.2006, 00:57
здраствуйте, а как сделать, что бы в прописать это именно в тот шаблон, которы я использую, а то я заметил это действует только на родной теме.
спасибо!

Soniks
09.08.2006, 01:13
H_U_L_K вам в теме надо вывести функцию footmsg() http://forum.mynuke.ru/search.php?searchid=12350

FaWuS
08.01.2007, 16:16
сделал всё, как сказано, но проблема та же. всегда время запроса к бд: 0.
нюка 8.0.
файл во вложении

genix
27.01.2007, 12:17
Кстати та же проблема - запросов к БД 0, хотя файл правил все как надо этот вот mesql.php, а нифига. Время и число запросов выводит, а время к бд - нет.

Astrix
28.01.2007, 00:40
В 35-ой строчке ошибка:
var $all_bd=0;
Замени на
var $all_db=0;

genix
28.01.2007, 11:42
Да кстати. Ошибка была не в mysql.php, а в файле footer.php почему-то. Когда поставил эти оба файлы из архива прикрепленного, все заработало.

FaWuS
11.02.2007, 14:47
После исправления файла mysql вместо сотрывка строчки: "Время запроса к БД: 0" вижу "Время запроса к БД: ". Проще говоря, теперь совсем цифры не показывает

Astrix
11.02.2007, 17:51
FaWuS, проверьте свой footer.php
Скорее всего там тоже неправильно имя переменной указано.
Должно быть везде "all_db;"

FaWuS
11.02.2007, 21:10
Ошибка была в исходном коде, который писал Соникс.

Вместо:
$all=$db->all_bd;

Должно быть:
$all=$db->all_db;

После этого исправления всё заработало! Спасибо всем!