Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Новая версия PowerCounter 3.2.2
 
 автор: cheops   (13.02.2006 в 17:24)   письмо автору
 
 

В новой версии введено ряд усовершенствований, которые описываются в теме http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=12973

   
 
 автор: Loki   (13.02.2006 в 18:00)   письмо автору
 
   для: cheops   (13.02.2006 в 17:24)
 

Там только моя правка, или вы тоже что-то добавляли?

   
 
 автор: cheops   (13.02.2006 в 21:55)   письмо автору
 
   для: Loki   (13.02.2006 в 18:00)
 

Чуть-чуть поправил index.php, запретив ссылку на "За всё время", так как у нас его по сути не будет теперь.

   
 
 автор: Loki   (13.02.2006 в 22:12)   письмо автору
 
   для: cheops   (13.02.2006 в 21:55)
 

Напрасно... а как теперь вызвать все страницы счетчика?!

   
 
 автор: cheops   (14.02.2006 в 14:41)   письмо автору
 
   для: Loki   (13.02.2006 в 22:12)
 

Хорошо переделаю, но я как понял у нас максимальная дата - 1 месяц?

   
 
 автор: Loki   (14.02.2006 в 14:56)   письмо автору
 
   для: cheops   (14.02.2006 в 14:41)
 

да. можно и больше сделать: но нет смысла - у нас интрефейс этого не предусматривает.

   
 
 автор: SergeZ   (14.02.2006 в 00:43)   письмо автору
 
   для: cheops   (13.02.2006 в 17:24)
 

Поскольку предыдущую тему по счетчику закрыли - пишу здесь:
Вот проблема
Неврено работает перенос статистики по разделу ССЫЛКИ.

Поясню: Например на конец дня Сегодня у меня ~ 300 переходов с какого-нибудь сайта типа www.abcde.ru, но как только деньзаканчивается и эта цифра переносится в колонку ВЧЕРА, эта цифра меняется - уменьшается раза в 3-4 и становится не 300, а скажем 60-70. Соответственно инеформация за неделю, за месяц итд - неверная.

Изменения настроек в admin/config.php - на результат не влияют.

Для того что бы было понятно и наглядно - прикладываю 2 скриншота, сделанные с промежутком в 15 минут. Первый сделан в 23:55, а второй в 00:10. Вся проблема видна как на ладони.

   
 
 автор: cheops   (14.02.2006 в 02:17)   письмо автору
 
   для: SergeZ   (14.02.2006 в 00:43)
 

А переходы униальные или разные? Если каждый раз осуществляется переход с разных страниц - получаются разные рефереры, которые считаются раздельно - в архив идёт ограниченное число рефереров (20), и часть затирается если хотите, можете увеличить это число в конфигурационном файле admin/config.php, увиличив значение константы REFFERER_NUMBER.

   
 
 автор: SergeZ   (14.02.2006 в 03:48)   письмо автору
 
   для: cheops   (14.02.2006 в 02:17)
 

РАзные или уникальные сложно сказать. Но изменение настроек в config ничего не меняет

   
 
 автор: Loki   (14.02.2006 в 09:33)   письмо автору
 
   для: SergeZ   (14.02.2006 в 03:48)
 

Изменение настроек может что-то изменить только при следующей архивации (то есть в конце следующих суток.
Попробуйте установить, например, 1000 сохраняемых реффереров (чтобы все уникальные гарантированно вошли в этот диапазон)

   
 
 автор: SergeZ   (14.02.2006 в 12:30)   письмо автору
 
   для: Loki   (14.02.2006 в 09:33)
 

Да , это я как то не учел, что изменения вступают в силу на следующие сутки.
Как рекомендация - сделайте -если значение 0 стоит в конфиге - то вообще без ограничений.

   
 
 автор: Loki   (14.02.2006 в 13:08)   письмо автору
 
   для: SergeZ   (14.02.2006 в 12:30)
 

Мне вообще не нравится идея оставлять "самых-самых": посмотрел, у меня одни поисковики в топах. Мне как раз интереснее сайты смежной тематики, где есть ссылка на меня...
В общем, придет cheops буду его агитировать за переделку этого отчета:)

   
 
 автор: cheops   (14.02.2006 в 14:29)   письмо автору
 
   для: Loki   (14.02.2006 в 13:08)
 

А я согласный... действительно не дело, подправим, но по умолчанию всё равно будем ставить ограниченное число.

   
 
 автор: cheops   (14.02.2006 в 02:16)   письмо автору
 
   для: cheops   (13.02.2006 в 17:24)
 

Что-то не так с хитами и хостами, у меня за "вчера" считаются два раза или что лишнее плюсуется - это получилось после того, что был увеличен интервал не сжатой статистики. Завтра буду копаться...

   
 
 автор: SergeZ   (14.02.2006 в 03:51)   письмо автору
 
   для: cheops   (14.02.2006 в 02:16)
 

Так как раз наооборот получается - статистика за вчера намного меньше., а если бы два раза плюсовалась, или что-то подобное, то была бы больше.

   
 
 автор: Loki   (14.02.2006 в 09:37)   письмо автору
 
   для: cheops   (14.02.2006 в 02:16)
 

А вы новую версию hits.php из предыдущей темы установили? У меня "вчера" в копейку совпадает со старым счетчиком... а вот дальше - уже набегает ошибка.

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

   
 
 автор: cheops   (14.02.2006 в 14:35)   письмо автору
 
   для: Loki   (14.02.2006 в 09:37)
 

Да, как раз после этого всё и началось... 4000 чистых хостов - это статистика за два дня, у нас в среднем 2000. Загрузил hits.php из аттача - не полегчало :(((, причём за неделю, месяц и всё время показывает нормально... Может в базе дата сместилась - нужно будет посмотреть, как выясню - отпишусь.

   
 
 автор: Loki   (14.02.2006 в 15:14)   письмо автору
 
   для: cheops   (14.02.2006 в 14:35)
 

Я бы попробовал посмотреть на условия отбора: я там менял на NOT LIKE 'robot_%'. Может ваша версия как-то не так обрабатывает это условие?

   
 
 автор: cheops   (20.02.2006 в 22:37)   письмо автору
 
   для: Loki   (14.02.2006 в 15:14)
 

Кстати, hits.php (кроме NOT LIKE 'robot_%') и archive.php (кроме хранения несжатой информации за месяц) вынужден был откатить назад - у меня идёт дублирование записей в архивных таблицах и удвоение вчерашних хитов/хостов (даже если нет дублей в архивных таблицах). Причём последнее проявляется в конце недели.

   
 
 автор: Loki   (21.02.2006 в 00:29)   письмо автору
 
   для: cheops   (20.02.2006 в 22:37)
 

Никак не могу вопроизвести.
какие варианты:
1. вы не полностью взяли мой файл.
2. как-то влияет поле searches
3. Что-то не так с архивацией (возможно, я там что-то поправил и забыл)

после отката на прежний файл хосты пришли в норму?
если да, то третий вариант отметаем.
если нет, то смотрим архивную строчку за вчерашний день. если с ней все в порядке - проверяем запрос.
у меня запрос за вчерашний день выглядит так:

SELECT SUM(hosts_total) FROM system_arch_hits WHERE putdate < DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '0' DAY AND putdate >= DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '1' DAY


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

   
 
 автор: Loki   (21.02.2006 в 09:17)   письмо автору
 
   для: cheops   (20.02.2006 в 22:37)
 

Я тут немного покумекал на досуге.
Если речь идет именно о недельной и месячной посещаемости, то все нормально. Так как у нас изменился алгоритм подсчета:
я пять дней в неделю захожу с одного ip. Если раньше я считался одним посетителем, то теперь я за месяц буду подсчитан как 20.
Так что пара сотен постоянных посетителей вполне могут удвоить количество хостов.

   
 
 автор: cheops   (21.02.2006 в 13:39)   письмо автору
 
   для: Loki   (21.02.2006 в 09:17)
 

Нет удвоение происходило только по вчерашним хостам - давайте эту тему пока закроем - очень длинная.

   
 
 автор: Loki   (14.02.2006 в 10:20)   письмо автору
 
   для: cheops   (14.02.2006 в 02:16)
 

На самом деле, принцип работы с рефферерами мне совсем не нравится: вероятность того, что мне понадобится адрес рефферера, с которого уже месяц не заходили - очень небольшая. В то же время, статистика реффереров, по которым созданы фильтры - вполне актуальна. Может стоит немного переделать учет реффереров, раз уж мы все равно храним данные за месяц? Сколько у вас в месяц набегает в таблице refferers?

   
 
 автор: cheops   (14.02.2006 в 14:40)   письмо автору
 
   для: Loki   (14.02.2006 в 10:20)
 

>Сколько у вас в месяц набегает в таблице
>refferers?
А не знаю, они же теперь удаляются, раньше наверное в районе 50000 записей набегало.

PS Пока не очень понимаю, что предлагается :)))

   
 
 автор: Loki   (14.02.2006 в 15:16)   письмо автору
 
   для: cheops   (14.02.2006 в 14:40)
 

Ну я сам додумал еще не до конца, но основная канва такая: храним все реффереры за месяц в таблице refferers, все что старше месяца попросту удаляем, а архивитуем только то, на что заданы фильтры (таблица "ссылки"), да и то архивируем только количество (правда, не знаю, чем оно будет полезно:)

   
 
 автор: cheops   (15.02.2006 в 14:13)   письмо автору
 
   для: cheops   (14.02.2006 в 02:16)
 

Полез вчера разбираться почему у меня удваиваются вчерашние хосты (аккурат после получночи) - пропало зараза... видать пережитки перехода на месячный буффер... отсутствие проблемы сразу охладило пыл...

   
 
 автор: SergeZ   (14.02.2006 в 04:10)   письмо автору
 
   для: cheops   (13.02.2006 в 17:24)
 

Есть пожелание по дальнейшей доработке счетчика. Мне вот например не хватает более подробной статистики по тому, откуда ( из каких регионов) приходят посетители по ссылке с того или иного ресурса на мой сайт. То есть речь идет о доработке страницы Ссылки. При нажатии на имя ресурса хорошо бы было получать табличку с перечнем IP и информацией о городе регионе этого IP ( хотя бы за текущий день).
Не было времени разбираться со структурой таблиц. Если это не так сложно - приведите пример запроса выдающий информацию из базы на такой словесный запрос:

выдать все IP,их город, регион, пришедшие на сайт с ресурса www.otkuda.ru , сегодня.


Далее, добавьте в отчет рефереры, возможность открыть в новом окне саму страничку, которая стоит как реферер, а то приходится ссылку копировать и ручками вбивать в броузер. Пустяк - но время экономится.

   
 
 автор: Loki   (15.02.2006 в 13:36)   письмо автору
 
   для: cheops   (13.02.2006 в 17:24)
 

Косяк с подсчетом систем и броузеров: информация за текущий день для total берется по старым правилам.
$query['all'] = "SELECT COUNT(*) FROM $tbl_ip WHERE ".$tmp1.$tmp2;


и надо оттуда исключить поисковики
кстати, некоторые поисковики идентифицируются как mozilla... надо бы это поправить.

   
 
 автор: cheops   (15.02.2006 в 14:18)   письмо автору
 
   для: Loki   (15.02.2006 в 13:36)
 

Исправил запрос на
$query['all'] = "SELECT COUNT(DISTINCT ip) FROM $tbl_ip WHERE ".$tmp1.$tmp2;

в ближайшие дни выложу версию с этим исправлением (может даже сегодня).

   
 
 автор: Loki   (15.02.2006 в 15:38)   письмо автору
 
   для: cheops   (15.02.2006 в 14:18)
 

Только я бы сделал

$query['all'] = "SELECT COUNT(DISTINCT ip) FROM $tbl_ip WHERE systems NOT LIKE 'robot_%' AND ".$tmp1.$tmp2;

и из архивации роботов тоже бы исключил... и еще сделал бы в файле count.php условие:
если система - робот, то броузер = 'none'

Иными словами: все отчеты должны быть проверяемыми: если количество уникальных хостов 100, то количество определенных систем или броузеров должно тоже стоставлять 100.

   
 
 автор: cheops   (15.02.2006 в 22:49)   письмо автору
 
   для: Loki   (15.02.2006 в 15:38)
 

Понял, сделаю.

   
 
 автор: Loki   (16.02.2006 в 18:08)   письмо автору
 
   для: cheops   (13.02.2006 в 17:24)
 

В отчетах по дням (глубина, время и пр). Для подсчета общего количества используется такая конструкция:

<?
    
// Извлекаем время посещения 
    
$query "SELECT * FROM $tbl_arch_time 
              WHERE putdate = '"
.date("Y-m-d 23:59:59",$_GET['date'])."'";
...
$arch_time mysql_fetch_array($ipt);
...
$total array_sum($arch_time);
?>

Показывающая нам примерный уровень радиации на луне, так как складываются в одну кучу данные, дата и идентификатор записи. И все это еще умножается на два, так как в массиве данные дублируются. Так держать!;)

   
 
 автор: cheops   (17.02.2006 в 00:03)   письмо автору
 
   для: Loki   (16.02.2006 в 18:08)
 

Ммм... в смысле дублируются?

   
 
 автор: Loki   (17.02.2006 в 09:19)   письмо автору
 
   для: cheops   (17.02.2006 в 00:03)
 

mysql_fetch_array возвращает массив состоящий и из текстовых, и из числовых индексов. Чтобы было что-то одно, необходимо задавать вротой параметр.

   
 
 автор: cheops   (17.02.2006 в 13:54)   письмо автору
 
   для: Loki   (17.02.2006 в 09:19)
 

С этим понял, исправим.
Может нам вообще не архивировать эти отчёты - тем более, что теперь не архивируемая информация будет храниться за месяц - у нас меню уменьшится - его всё-равно разгружать нужно.

   
 
 автор: Loki   (17.02.2006 в 14:12)   письмо автору
 
   для: cheops   (17.02.2006 в 13:54)
 

Пока не готов ответить: они довольно тяжелые при формировании. Особенно за большие периоды. Возможно, их архивировать, но выводить так же, как и раньше: сегодня, вчера, неделя, месяц, все время.

хм... вообще это тоже не дело: так стремились к возможности сравнивать данные за периоды...

   
 
 автор: СерегаВЕБ   (20.02.2006 в 16:51)   письмо автору
 
   для: Loki   (17.02.2006 в 14:12)
 

Поставил себе. Штука мощная. Особенно прикольно за поисковыми роботами следить.

Но вот при просмотре IPов ошибку пишет:
Error: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay
Дома все нормально работает. Наверное что-то в MySQL.

К стати зачем нужна бешеная таблица system_ip_compact?

   
 
 автор: Loki   (20.02.2006 в 17:50)   письмо автору
 
   для: СерегаВЕБ   (20.02.2006 в 16:51)
 

она не бешенная, а как раз наоборот. бешенная была такая же, но в 10 раз больше:)
в ней содержаться соответсвие диапазона ip адресов городам.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования