Advanced Page Generation Time

Все моды, созданные нашим сообществом для phpBB 2.0.x, анонсированы тут.
Аватара пользователя
Менеджер сайта
Робот
Робот
Сообщения: 64
Зарегистрирован: 13.03.2004 21:18

Advanced Page Generation Time

Сообщение Менеджер сайта » 23.01.2007 18:29

Название мода: Advanced Page Generation Time
Автор: Coagulant
Описание мода: Мод показывает расширенную статистику внизу каждой страницы: время генерации, кол-во SQL-запросов, процент gzip-сжатия.

Версия мода: 1.0.3
Совместимая версия phpBB: 2.0.x
Cложность установки: Легко
Время, необходимое для установки: 10 минут

Скачать: apgt_1_0_3.zip
Размер файла: 23 kb

Drupal refresh

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4105
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 107 раз
Поблагодарили: 424 раза
Контактная информация:

Сообщение Siava » 26.01.2007 0:31

Код: Выделить всё

if (@file_exists('/proc/loadavg'))
{
	if ($load = @file('/proc/loadavg'))
	{
		list($cur_load) = explode(' ', $load[0]);
	}
}
elseif ( $uptime = @exec("uptime") )
{
	preg_match( "/\: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/", $uptime, $load );
	$cur_load = $load[1];
}
1. А если я хочу, чтобы в параметре "загрузка" было второе значение load average, а не первое?

2. И ещё один странный вопрос :) как вы думаете, насколько возрастает нагрузка при использовании всех аддонов?

Добавлено спустя 16 минут:

3. А ещё забавный глюк (см. скрин) :) он продолжается вплоть до 10-й минуты 004, 005, 006.... 009, а с 10-й всё нормально.
Вложения
Scr-45.png
Scr-45.png (402 байт) 12659 просмотров
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Зарегистрирован: 10.01.2005 19:43
Откуда: Москва
Контактная информация:

Сообщение Coagulant » 26.01.2007 2:33

1) Я, помнится, уже отвечал на это вопрос.
2) Даже не знаю как это измерить :) При установке всех аддонов добаляется вызpов uptime или loadavg...
3) Выходит строчка

Код: Выделить всё

if ($cur_uptime[3] < 10) $cur_uptime[3] = '0'.$cur_uptime[3];
лишняя, надо её убрать.

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4105
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 107 раз
Поблагодарили: 424 раза
Контактная информация:

Сообщение Siava » 26.01.2007 8:30

Coagulant
1. Вот и я помню, что вроде спрашивал такой вопрос :) спасибо.
3. Вроде бы решилось, но другой строчкой:

Код: Выделить всё

//		if ($cur_uptime[2] < 10) $cur_uptime[2] = '0'.$cur_uptime[2];
(надо 10 минут подождать, чтобы проверить) :lol:
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
Сообщения: 7522
Зарегистрирован: 13.03.2004 21:32
Откуда: СССР
Благодарил (а): 22 раза
Поблагодарили: 154 раза
Контактная информация:

Сообщение Mr. Anderson » 26.01.2007 8:33

Coagulant
По поводу 3-го пункта я тебе уже жаловался :)

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4105
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 107 раз
Поблагодарили: 424 раза
Контактная информация:

Сообщение Siava » 26.01.2007 19:14

Вы как хотите, но с аптаймом порнография какая-то выходит. Решил перезагрузить сервер, после загрузки одни нули в часах, в днях пусто, в минутах пусто. Вернул к первоначальному коду - везде нули по одному или по два, но ничего не изменяется. Пришлось наколбасить свой код, которым пользовался раньше. Пользуйтесь :)

старый блок аптайма заменить на этот:

Код: Выделить всё

if (@file_exists('/proc/uptime'))
{
	if($uptime_array = explode(" ", exec("cat /proc/uptime")))
	{
		$up_sec = round($uptime_array[0], 0);
		$up_min = $up_sec / 60;
		$up_hour = $up_min / 60;
		$up_day = floor($up_hour / 24);
		$up_hour = floor($up_hour - ($up_day * 24));
		$up_min = floor($up_min - ($up_day * 24 * 60) - ($up_hour * 60));
		$up_sec = floor($up_sec - ($up_day * 24 * 60 * 60) - ($up_hour * 60 * 60) - ($up_min * 60));
	}
}
Тут в принципе половину можно выкинуть.. оставил как у меня было.

старый блок в $template->assign_vars(array( заменить на этот:

Код: Выделить всё

	'CUR_UPTIME' => ( isset($uptime_array) ) ? $up_day.$lang['d'].':'.
	$up_hour.$lang['h'].':'.$up_min.$lang['m'] : $lang['NA'],
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Зарегистрирован: 10.01.2005 19:43
Откуда: Москва
Контактная информация:

Сообщение Coagulant » 26.01.2007 23:42

Siava
У меня есть мнение что для разных версий uptime результаты вывода разные :) И для времени до суток и после.
Если кто-то напишет как выглядят различные результаты работы uptime я с удовольствием поправлю регэксп :)

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4105
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 107 раз
Поблагодарили: 424 раза
Контактная информация:

Сообщение Siava » 26.01.2007 23:43

Coagulant
Вот мой. Система Slackware Linux

Код: Выделить всё

# uptime
 23:51:49 up 56 min,  2 users,  load average: 1.87, 3.46, 3.46
Вот так на Ubuntu:

Код: Выделить всё

$ uptime
 23:50:55 up 10 days, 14:01,  4 users,  load average: 0.36, 0.45, 0.45
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4105
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 107 раз
Поблагодарили: 424 раза
Контактная информация:

Сообщение Siava » 27.01.2007 14:54

А ещё у меня есть подозрение, что данный мод вызывает нехилую утечку памяти на активных форумах, вследствии чего наступает переполнение файла подкачки сервера и крах системы.
Откуда такие предположения? Да вот с моим так и случилось.. начал откатывать все последние изменения и только после удаления мода вроде бы всё нормализовалось.
Но это всего лишь подозрения, пока нет доказательств.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
Сообщения: 7522
Зарегистрирован: 13.03.2004 21:32
Откуда: СССР
Благодарил (а): 22 раза
Поблагодарили: 154 раза
Контактная информация:

Сообщение Mr. Anderson » 27.01.2007 15:19

Siava
Хм... С чего бы ему memory leak'и устраивать? :?

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4105
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 107 раз
Поблагодарили: 424 раза
Контактная информация:

Сообщение Siava » 27.01.2007 23:00

Mr. Anderson
Вот сам не знаю, тут надо время чтобы быть уверенным. Вечером отпишусь.

Добавлено спустя 7 часов 27 минут 8 секунд:

Прошло почти 10 часов стабильной работы. Очень странно почему именно из-за мода такое начало происходить.. не улавливаю зависимости. Но суть такова.. на сервере 3Гб оперативки, процессор Athlon64 X2 4800+, Apache 2.0.59, PHP 4.4.4 и MySQL 5.0.33. До установки мода всё работало стабильно и аптайм был дней 20. Примерно через час-полтора работы при нагрузке 60-100 пользователей онлайн обнаружилось, что каким-то процессом (не засёк каким, но наверно Apache) съёдается вся оперативная память, затем начинает поглощаться swap, возрастает Load Average и когда swap забивается весь, то система падает. :?
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

SpeAker
phpBB 1.4.2
Сообщения: 67
Зарегистрирован: 10.11.2006 19:52
Откуда: cs-spec.net.ru
Контактная информация:

Сообщение SpeAker » 30.01.2007 20:42

а учитывает ли этот мод тормоза сервера?
... Обеспечение Вт и АС чушь, не ходите туда

Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Зарегистрирован: 10.01.2005 19:43
Откуда: Москва
Контактная информация:

Сообщение Coagulant » 30.01.2007 22:09

Siava. Постоянные вызовы uptime могли такое сотворить? :shock:

SpeAker О каких тормозах речь? Время генерации страницы и
загрузка сервера дают представление о тормозах, да. :)

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4105
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 107 раз
Поблагодарили: 424 раза
Контактная информация:

Сообщение Siava » 30.01.2007 23:28

Coagulant
Вряд ли могли.. повторюсь, что до этого мода у меня был модернизированный мною мод от Smartor'а, с ним проблем не было вовсе. Тут взялся потестить и... :lol:

Кстати говоря, сейчас совсем без статистик всяких и.. форум меньше грузит сервер, уменьшилось L.A. раза в 1.5 по сравнению с тем, что было раньше! Получается, что даже такая статистика потребляет ресурсы.. может тот самый вызов /proc/uptime и прочего.. не ясно пока, но вот уже дней 5 без статистики и хорошо :)
Попробую на выходных потестить сей мод, но без аддонов.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Зарегистрирован: 10.01.2005 19:43
Откуда: Москва
Контактная информация:

Сообщение Coagulant » 30.01.2007 23:56

Siava
Ну ресурсы может потреблять тока регулярный вызов uptime и loadavg.
Надо сделать кэш для этих целей, чтобы напрасно не тревожить утилиту. Поглядим, что это даст, думаю, результат должен быть.

Закрыто

Вернуться в «Анонсы и поддержка модов для phpBB 2.0.x»