Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/24: Рейтинг темы: голосов - 24, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 16.11.2008
Сообщений: 308

Прошу совета по оптимизации веб-сайта

13.02.2016, 13:14. Показов 4967. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть веб-сайт с документами (~1000 документов)
Задача иметь иметь по каждому документу ежемесячную статистику уникальных просмотров по каждому разделу.
Также необходимо в дневное время добиться максимально быстрой загрузки документов на веб-сайте.
Ежедневно происходит порядка 10 000 просмотров суммарно.
Предполагаемый процент неуникальных и ботов ~ 20%
Сейчас реализован подсчет лотусовым агентом по первому варианту, вопрос есть ли смысл например перейти на второй вариант или как то еще реализовать?

1 вариант
Есть документы месячной статистики (месяц, количество показов А, количество показов Б, количество показов С)
Есть документы ежедневной статистики (дата, ip, тип показов (А, Б или С), куки, броузер инфо)
Когда документ открывается в разделе (А,Б или С), запускается агент, который находит документ месячного показа или создает его, если его нет.
Затем в документе месячного показа, для соответствующего типа проверяется уникальность по ip и исключаются боты.
Если показ уникальный, то прибавляется 1 к показам и создается документ ежедневной статистики.
Ежедневная статистика старше 2х месяцев - просто удаляется.

2 вариант
Когда документ открывается, запускается агент, который пишет документ ежедневной статистики (неуникальный и с ботами) в базу.
Ночью агент обрабатывает документы ежедневной статистики (проверяет на уникальность по ip) и модифицирует или создает документы месячной статистики.
а) Неуникальные документы/боты и ежедневная статистика старше 2х месяцев - просто удаляется.
б) В базе статистики документ не удаляется, а "очищается", а при записи сначала берутся "очищенные", а затем если "очищенных" нет, то создаются новые.

--------------

Для ежедневной статистики сделана отдельная база, в ней порядка 226 000 доков и размер 5гб используемое место в ней 15%.

Месячная статистика находится в той же базе что и документы, доков статистики в ней 44 000 за несколько лет.

Вот думаю как минимум вынести месячную статистику в отдельную базу, чтобы ускорить открытие страниц. Заодно думаю, есть ли смысл переписать все на второй вариант, указанный выше?

Спасибо за внимание.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.02.2016, 13:14
Ответы с готовыми решениями:

Прошу совета по оптимизации условия If
Всем доброго времени суток! Php занимаюсь совсем мало. Пусть кому-то вопрос покажется совсем банальным, но голова отваливается уже) Как...

Прошу совета мастеров оптимизации...
Ребята, если не сложно, выскажите свое мнение во 2 вопросам сайта www.anapa2006.ru (заранее извиняюсь, если это кого-нибудь затруднит): ...

Прошу совета по продвижению сайта
Мой сайт http://www.servergame.ru/ Вот хотел бы услышать от вас, как и что ему нужно для нормального состояния? Посещаемость 900+ Тиц...

12
0 / 0 / 0
Регистрация: 16.11.2008
Сообщений: 308
13.02.2016, 13:26
Вот что показывает профилирование текущего агента

base-wqo Profile
14.02.2016 14:06:04 ZE3
Elapsed time: 63 msec
Methods profiled: 18
Total measured time: 32 msec
Class Method Operation Calls Time
Document Save 2 16
View GetDocumentByKey 1 16
Document [expandedname] Set 18 0
Document [expandedname] Get 13 0
Document GetItemValue 5 0
Document ReplaceItemValue 4 0
Document UniversalID Get 2 0
DateTime LSLocalTime Get 2 0
DateTime DateOnly Get 2 0
Database GetView 1 0
Item ValueLength Get 1 0
Document GetFirstItem 1 0
Session CurrentDatabase Get 1 0
Session DocumentContext Get 1 0
DateTime TimeDifference 1 0
View Refresh 1 0
Database OpenByReplicaID 1 0
Database CreateDocument 1 0
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
13.02.2016, 14:58
статистика, быстрая отдача статики - это все вопросы фронтэнда
его и надо ставить/настраивать
0
0 / 0 / 0
Регистрация: 16.11.2008
Сообщений: 308
13.02.2016, 15:33
Цитата Сообщение от lmike
статистика, быстрая отдача статики - это все вопросы фронтэнда
его и надо ставить/настраивать
С общей статистикой вполне справляется яндекс метрика и гугл аналитик.
Задача стоит посчитать и отобразить в разрезе просмотров 1 документа в различных разделах.
Также уникальный просмотр является конверсией для учета тем же гугл аналитиком и другими системами.

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

Ведь все можно сделать и на лотусе
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 812
14.02.2016, 09:34
Мне кажется второй вариант более эффективный. Более того, я бы не стал заморачится с поиском какого-либо документа (это время), а просто писал бы при открытии документа в базу новый документ с необходимыми данными (Дата/Время, Код страницы/документа = UNID, IP и пр. того, кто открывает документ). Потом, ночью, по этим данным можно строить любые отчёты, собирать статистику и пр.
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
14.02.2016, 12:09
Цитата Сообщение от Gandliar
Можно наверное конечно сделать пхп скрипт
зачем, если через фронт идет учет в логах и эти логи парсятся соответ движком (коих есть порядочно)
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
14.02.2016, 12:15
вот пример лога nginx


somehost - - [15/Feb/2016:12:58:36 +0300] "GET / HTTP/1.1" 200 663 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0"
somehost - - [15/Feb/2016:12:58:36 +0300] "GET /homepage.nsf/Home?OpenPage HTTP/1.1" 200 500 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0"
somehost - - [15/Feb/2016:12:58:36 +0300] "GET /homepage.nsf/TechPage!OpenPage&BaseTarget=FBody HTTP/1.1" 200 1036 "http://someserver/homepage.nsf/Home?OpenPage" "Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0"
somehost - - [15/Feb/2016:12:58:36 +0300] "GET /homepage.nsf/CommonPage!OpenPage&BaseTarget=FBody HTTP/1.1" 200 915 "http://someserver/homepage.nsf/Home?OpenPage" "Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0"
somehost - - [15/Feb/2016:12:58:36 +0300] "GET /homepage.nsf/Refresh?OpenForm&BaseTarget=FBody HTTP/1.1" 200 743 "http://someserver/homepage.nsf/Home?OpenPage" "Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0"
somehost - - [15/Feb/2016:12:58:36 +0300] "GET /homepage.nsf/ToolBarPage!OpenPage HTTP/1.1" 200 903 "http://someserver/homepage.nsf/Home?OpenPage" "Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0"
somehost - - [15/Feb/2016:12:58:36 +0300] "GET /homepage.nsf/stylesheet.css HTTP/1.1" 200 2579 "http://someserver/homepage.nsf... rget=FBody" "Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0"
somehost - - [15/Feb/2016:12:58:36 +0300] "GET /homepage.nsf/toolbar.css HTTP/1.1" 200 2556 "http://someserver/homepage.nsf... e!OpenPage" "Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0"
somehost - - [15/Feb/2016:12:58:36 +0300] "GET /homepage.nsf/2c2870437213126dc325696900510748/$Body/0.EE!OpenElement&FieldElemFormat=gif HTTP/1.1" 200 3349 "http://someserver/homepage.nsf... rget=FBody" "Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0"
somehost - - [15/Feb/2016:12:58:36 +0300] "GET /homepage.nsf/Information/StartPage!OpenDocument HTTP/1.1" 200 2007 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0"
somehost - - [15/Feb/2016:12:58:36 +0300] "GET /homepage.nsf/Styles/infosheet.css!OpenDocument HTTP/1.1" 200 2603 "http://someserver/homepage.nsf... enDocument" "Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0"
somehost - - [15/Feb/2016:12:58:36 +0300] "GET /homepage.nsf/home.gif!OpenImageResource HTTP/1.1" 200 213 "http://someserver/homepage.nsf... enDocument" "Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0"
somehost - - [15/Feb/2016:12:58:36 +0300] "GET /icons/ecblank.gif HTTP/1.1" 200 45 "http://someserver/homepage.nsf... enDocument" "Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0"
кот. фронтом к домине и awstat спокойно покажет кол-во посещений страниц и чего угодно http://www.tech-notes.net/awstats-for-nginx/ как настроить фронт я уже описывал в админ разделе (для https)
0
0 / 0 / 0
Регистрация: 12.11.2009
Сообщений: 882
14.02.2016, 13:30
Цитата Сообщение от Gandliar
-
Для ежедневной статистики сделана отдельная база, в ней порядка 226 000 доков и размер 5гб используемое место в ней 15%.
Стабы? Убить. Вместе со статистикой на домино.
0
0 / 0 / 0
Регистрация: 16.11.2008
Сообщений: 308
14.02.2016, 14:37
То есть, как вариант, еженощно брать вчерашний текстовый файл лога домино и скриптом его распарсить, вытянув оттуда необходимые данные, верно? А для простоты исключить из этого лога запись туда запросов картинок и ботов в настройках сервера.
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
14.02.2016, 14:57
Цитата Сообщение от Gandliar
То есть, как вариант, еженощно брать вчерашний текстовый файл лога домино и скриптом его распарсить,
домина не нужна
нужен nginx
0
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
14.02.2016, 18:19
Цитата Сообщение от Gandliar
Ведь все можно сделать и на лотусе
еще как можно
только насколько это будет оптимизировано, будет зависеть только от вашего знания механики сервера

как минимум domlog.nsf положить на отдельный SSD как и TL
вот это уже будет шаг на встречу оптимизации ;)
0
0 / 0 / 0
Регистрация: 16.11.2008
Сообщений: 308
15.02.2016, 10:14
Цитата Сообщение от ToxaRat
еще как можно
только насколько это будет оптимизировано, будет зависеть только от вашего знания механики сервера

как минимум domlog.nsf положить на отдельный SSD как и TL
вот это уже будет шаг на встречу оптимизации ;)
Настроил, чтобы домино писало в текстовый файл - быстрее получается, чем в nsf. Также в настройках указал, чтобы не писало загрузки картинок, файлов, js. Еще думаю заодно исключить из лога ботов.
А винты поставил изначально sas с зеркалированием.


Спасибо за рекомендации по поводу разборки именно лога - стер эти громадные базы нафиг в которые писал детальную статистику. Стало работать быстрее в частности и в целом.

Осталось разобраться с месячной статистикой. Пришла мысль опробовать для этого профильные документы. Вроде как они в памяти постоянно висят.
0
0 / 0 / 0
Регистрация: 16.11.2008
Сообщений: 308
17.02.2016, 10:57
Перевел подсчет месячной статистики на профильные документы. Работает быстро.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.02.2016, 10:57
Помогаю со студенческими работами здесь

прошу совета в продвижении сайта
Здравствуйте уважаемые собравшиеся. Хочется научиться, а так же в результате продвинуть сайт http://fotofor.biz фотостудии fotofor. Не...

Прошу совета опытных людей о создании сайта
Здравствуйте товарищи. У вас тут в ветке «PHP для начинающих» какие то вопросы серьезные, не как не для начинающих))) Спрошу кратко и...

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

Нужна покупная реклама сайта по ключевикам. Прошу совета :)
Доброго времени! Нужно раз в месяц рекламить сайт по нескольким ключевым словам. Как только достигнут необходимый результат (а он...

Прошу дать оценку оптимизации сайта
Собственно интересует один поисковый запрос, не считая НЧ - они сами нашлись... Сайт: casino-prestige.ru - запрос "интернет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru