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

Форум PHP

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

 

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

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

тема: Новая версия PowerCounter 3.0.0
 
 автор: cheops   (13.01.2006 в 23:43)   письмо автору
 
 

Ранее самым серьёзным недостатком PowerCounter был объём его базы данных. Так при использовании его для учёта посещаемости сайта http://www.softtime.ru за год база данных увеличивалась на 250 мегабайт. Начиная с версии 3.0.0 объём базы данных, даже для такого посещаемого сайта не превышает 2 Мб. Это связано с новой организацией базы данных. Теперь полная информация сохраняется лишь за сутки, после чего она подвергается сжатию и помещается в суточные архивные таблицы. По прошествии недели информация сжимается в недельные таблицы, а по прошествию месяца в месячные таблицы. Разумеется вся информация, которая не требуется для выведения отчётов удаляется. Конечно, это достигается за счёт некоторого снижения функциональности, но в ближайшее время это будет исправлено. Кроме этого в PowerCounter 3.0.0 впервые вводятся таблицы с переменными именами. Если раньше имена таблиц не позволяли размещать в одной базе данных несколько систем или добавлять системы с аналогичными именами таблиц, то теперь это стало возможным.

PS Систему PowerCounter 2.9 можно обновить до PowerCounter 3.0 для этого необходимо добавить таблицы, приведённые в update.sql, а также добавить префикс system к существующим таблицам ip, pages, refferer, searchquerys, так, чтобы они приняли вид system_ip, system_pages, system_refferer, system_searchquerys.
Можно изменить названия переменных в файлах count.php и admin/count.php в которых хранятся имена таблиц. После того, как таблицы будут изменены необходимо выполнить файл admin/archive.php, который произведёт сжатие рабочих таблиц в архивные. Это может занять много времени, даже после того, как число записей в таблице ip базы данных портала softtime.ru было уменьшено с 4 000 000 (250 Мб) до 500 000 (56 Мб) конвертация заняла несколько минут.

http://www.softtime.ru/info/powercounter30.php

   
 
 автор: Loki   (14.01.2006 в 01:30)   письмо автору
 
   для: cheops   (13.01.2006 в 23:43)
 

Данные у меня уже минут 20 архивируются, так что проверить работоспособность не могу пока:)
При беглом осмотре:
1. в файле update_sql не сказано что надо переименовать таблицу thits
2. Так и не отказались от столбца searches в таблице ip... из всего кода он учавствует только в одном запросе, и тот полезной информации не несет.
3. utils_num_search.php строка 63: поисковика "мета" нет ни в таблице ни в count.php
4. я бы в настройки вынес такую штуку как $prefix="system_"; и от него образовывал названия таблиц (частицу "бы" можно и не ставить:)
5. помнится, был добавлен поисковик mail.ru... а почему для него нет define("MAIL_NUMBER",20);? вероятно, где-то потеряли его в процессе разработки.. хотя, в таблице поля под него существуют...
6. в процессе архивации неплохо бы коментарии, чтобы знать на каком этапе все находится.
7. в файл archive.php неплохо бы сразу прописать set_time_limit(0)

ладно. теперь бы дождаться конца архивации, и вот тогда можно начать тестировать:))

   
 
 автор: Евгений Петров   (14.01.2006 в 01:35)   письмо автору
 
   для: Loki   (14.01.2006 в 01:30)
 

А ещё не хотите сделать такую фичу как имена переменных и функций? Не первый раз сталкиваюсь с тем что в счетчике и в скриптах одинаковые названия переменных и функций... Конфликтуют немного :)

   
 
 автор: cheops   (14.01.2006 в 01:51)   письмо автору
 
   для: Loki   (14.01.2006 в 01:30)
 

Вообще эту версию следует рассматривать как бетту... пока ещё суточные таблицы не чистятся, mail.ru потерялся - сил не было больше держать версию, чего я только не натерпелся от этого счётчика, особенно в Новогоднюю Ночь, когда год менялся :)))
Вы бы половину данных удалили (я вообще в ip только 2 месяца оставил, в остальных таблицах 7) - я забыл предупредить, полная конвертация будет проходить ооочень долго - лучше было бы её проводить поэтапно, закомментировав половину archive.php и запретив удаление данных из таблиц. Если вам всё-таки удасться дождаться конца конвертации - дальше архивирование будет проходить очень шустро - секунды 3 и этапы не понадобятся.

   
 
 автор: cheops   (14.01.2006 в 01:56)   письмо автору
 
   для: Loki   (14.01.2006 в 01:30)
 

3) Это от коммерческого варианта осталось, было принято решение, что внешний счётчик, позволяющий фиксировать статистику для нескольких сайтов - будет коммерческим. Разделение переменных и вызвало задержку с выходом очередной версии PowerCounter.

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

   
 
 автор: cheops   (14.01.2006 в 02:07)   письмо автору
 
   для: Loki   (14.01.2006 в 01:30)
 

2) Исключим в будующих версиях...

   
 
 автор: cheops   (14.01.2006 в 02:09)   письмо автору
 
   для: Loki   (14.01.2006 в 01:30)
 

4) Не очень удобно, я, например, не переименовывал таблицы в базе данных, а переименовал их в коде - половина с system_, половина без.

   
 
 автор: cheops   (14.01.2006 в 02:10)   письмо автору
 
   для: Loki   (14.01.2006 в 01:30)
 

7) На него бывает хостинги ругаются, когда не поддерживают, наверное стоит посоветовать это в описании.

   
 
 автор: kievigor   (14.01.2006 в 01:54)   письмо автору
 
   для: cheops   (13.01.2006 в 23:43)
 

Ошибка
В 15 строке (count.php)

// Устанавливаем соединение с базой данных
Вместо [require_once("config.php");]
Написано [require_once("config");]

   
 
 автор: cheops   (14.01.2006 в 01:58)   письмо автору
 
   для: kievigor   (14.01.2006 в 01:54)
 

Точно... я когда её написал - тупо смотрел минут 5 на неё не мог понять, что не нравится :))), у нас хостинг не позволяет включать файлы, которые будут включаться затем из других папок, поэтому строчка ставилась в последний момент без тестирования (сейчас поправлю).

   
 
 автор: cheops   (14.01.2006 в 02:01)   письмо автору
 
   для: kievigor   (14.01.2006 в 01:54)
 

Исправлено.

   
 
 автор: kievigor   (14.01.2006 в 02:12)   письмо автору
 
   для: cheops   (14.01.2006 в 02:01)
 

Тестирую на локальной под Windows
При обновлении страницы (index.php)
статистика в разделе (Системы и браузеры) показывает заходы с (Windows),
а при посещении страниц сайта кидает хиты в (Другие)

Еще при просмотре раздела (IP-адреса)
Ошибка при обращении к таблице IP-адресов...
Error: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version
for the right syntax to use near 'DESC' at line 10

   
 
 автор: cheops   (14.01.2006 в 02:26)   письмо автору
 
   для: kievigor   (14.01.2006 в 02:12)
 

Если вам не сложно измените строку 85 файла addresses.php следующим образом
<?php
  
if(!$ipsputerror("Ошибка при обращении к таблице IP-адресов...".$query);
?>

Что-нибудь дополнительно выводится?

   
 
 автор: cheops   (14.01.2006 в 02:28)   письмо автору
 
   для: kievigor   (14.01.2006 в 02:12)
 

>Тестирую на локальной под Windows
>При обновлении страницы (index.php)
>статистика в разделе (Системы и браузеры) показывает заходы
>с (Windows),
>а при посещении страниц сайта кидает хиты в (Другие)
Хм... странно вроде бы пользовательский агент вообще не должен изменятся...

   
 
 автор: kievigor   (14.01.2006 в 04:22)   письмо автору
 
   для: kievigor   (14.01.2006 в 02:12)
 

С интерпретацией страниц и браузеров разобрался.
Поставил случайно в одном файле абсолютную ссылку
на файл (count.php) вместо относительной
При этом статистика считалась, а вот интерпретация
страницы, браузера и системы была неверная.
Tак что на файл (count.php) нужно ссылаться используя
только относительный путь и тогда ошибок не будет.

   
 
 автор: kievigor   (14.01.2006 в 02:45)   письмо автору
 
   для: cheops   (14.01.2006 в 02:01)
 

И еще
Каким то образом считается статистика страницы (count.php)
А я к ней не обращаюсь вообще, такое было и в предыдущей версии
Как это победить?

А неправильная интерпретация системы, (точно такая же)
имеет место и после установки на сервер.
Абсолютно аналогичная ситуация и с браузером.
При заходе на страницу (index.php) распознает верно,
а при заходе с других страниц, вне каталога со счетчиком кидает в (Другие)

   
 
 автор: kievigor   (14.01.2006 в 03:01)   письмо автору
 
   для: cheops   (13.01.2006 в 23:43)
 

После установки на сервер ошибка при входе в раздел (IP-адреса) исчезла,
исчезла она чего то и на локальной машине
а при посещении раздела (Ссылающиеся страницы) осталась
Ошибка при обращении к таблице IP-адресов
Error: Table 'countdb.links' doesn't exist

Поисковые запросы - с нуля стоит единица в строке (Все) сегодня вчера и так далее.
Хотя во всех поисковых системах все нули.
Может это так и надо?

   
 
 автор: Loki   (14.01.2006 в 10:56)   письмо автору
 
   для: kievigor   (14.01.2006 в 03:01)
 

refferer.php строка 47 исправить на

SELECT * FROM $tbl_links ORDER BY name


При архивации вывалилась ошибка в файле utils_enterpoints.php в строках 71 и 74. Что-то связанное ну нулевым результатом или что-то подобное - уже ночь была. С утра данные уже удалены скриптом, так что пока не воспроизвести, но все отчеты начиная со статискики поисковых запросов не отображаются.

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

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

1) Запрос исправил
2) Ошибку в utils_enterpoints.php тоже постарался исправить - у меня база не очень удобная в этом плане была, не было ни одного дня с 0 хитов и хостов, а этом может приводить к ошибкам.

   
 
 автор: kievigor   (14.01.2006 в 13:07)   письмо автору
 
   для: cheops   (13.01.2006 в 23:43)
 

При заходе в раздел (Поисковые роботы) и клике на ссылке заходившего робота,
в данном случаи посещал (Rambler), выдается ошибка.

Страницы просмотренные с IP адреса
На этой странице вы можете видеть страницы просмотренные с IP-адреса.

Ошибка при обращении к таблице IP-адресов...”
Error: You have an error in your SQL syntax near 'DESC' at line 9

И в слове Страницы опечатка написано (Старницы)

   
 
 автор: Sasha   (14.01.2006 в 14:00)   письмо автору
 
   для: kievigor   (14.01.2006 в 13:07)
 

При заходе на ссылки

Error: Table 'count_count.links' doesn't exist

Создавал все с нуля.

   
 
 автор: cheops   (14.01.2006 в 14:09)   письмо автору
 
   для: Sasha   (14.01.2006 в 14:00)
 

Эту ошибку можно исправить как написал выше Loki или дождавшись версии 3.0.1, которая будет выложена сегодня в течении дня.

   
 
 автор: Unkind™   (14.01.2006 в 14:23)   письмо автору
 
   для: cheops   (14.01.2006 в 14:09)
 


      // Выясняем браузер
      if(strpos($useragent, "MSIE")    !== false)
      if(strpos($useragent, "Opera")    == null)  $browser = 'msie';
      if(strpos($useragent, "Opera")   !== false) $browser = 'opera';

UserAgent Оперы можно сменить...Вы, как я понимаю, имеете в виду следующий UserAgent:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.01
Или типа этого...Но в дополнительных настройках Opera можно сменить UserAgent на
Mozilla/5.0 (Windows NT 5.1; U; ru) Opera 8.01 или Opera/8.01 (Windows NT 5.1; U; ru)

А теперь вопрос: а пользователи сменившие таким образом UserAgent будут ли определяться у вас как MSIE?

   
 
 автор: cheops   (14.01.2006 в 14:31)   письмо автору
 
   для: Unkind™   (14.01.2006 в 14:23)
 

Если слово "Opera" присутствует в USER_AGENT браузер будет интерпретироваться как Opera.

   
 
 автор: cheops   (14.01.2006 в 14:15)   письмо автору
 
   для: kievigor   (14.01.2006 в 13:07)
 

>При заходе в раздел (Поисковые роботы) и клике на ссылке
>заходившего робота,
>в данном случаи посещал (Rambler), выдается ошибка.
Это пока не работает. Об ошибке известно.

>Страницы просмотренные с IP адреса
>На этой странице вы можете видеть страницы просмотренные с
>IP-адреса.
>Ошибка при обращении к таблице IP-адресов...”
>Error: You have an error in your SQL syntax near 'DESC' at
>line 9
А, это в pages.php, исправьте строку 82 с
                      ORDER BY $tbl_putdate DESC"; 

на
                      ORDER BY putdate DESC"; 

или дождитесь версии 3.0.1, которая будет выложена сегодня в течении дня.

>И в слове Страницы опечатка написано (Старницы)
Поправлено.

   
 
 автор: cheops   (14.01.2006 в 14:29)   письмо автору
 
   для: cheops   (13.01.2006 в 23:43)
 

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

   
Rambler's Top100
вверх

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