Как сделать счетчик просмотров изображения на PHP

1 234
Dreammaker
На сайте с 20.04.2006
Offline
570
#31
Алеандр #:
В моей же практике приходится заранее задавать клиенту и себе вопросы о предварительной оптимизации процессов, чтобы потом не было неожиданностей и необоснованной траты ресурсов, а следовательно и денег на них.

Моя практика показыват, что нагрузка вылазит обычно в тех местах, которые  трудно предсказать сходу. Как там классики говорят "Premature optimization is the root of all evil".  :)

Dreammaker
На сайте с 20.04.2006
Offline
570
#32
estic #:
Или он в перманентном паническом состоянии у вас находится по поводу того, что "там" происходит за горизонтом доступной статистики?

А я вот соглашусь, что статистика считается с задержкой не так уж и редко. 

E
На сайте с 01.10.2017
Offline
94
#33
Алеандр #:
С вами разговор шел исключительно о вашем удивлении

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

Домены на продажу: https://p20.ru/collection/domains-for-sale
E
На сайте с 01.10.2017
Offline
94
#34
Dreammaker #:
А я вот соглашусь, что статистика считается с задержкой не так уж и редко.
Я пока что только спросил: "Пользователю об этом известно?"
S
На сайте с 13.10.2014
Offline
171
#35

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

тут проблема в том, что запустить скрипт + дернуть базу потребует гораздо больше машинных ресурсов, как по памяти, так и по диску, чем банально дернуть один файл с диска. Когда у вас одно обращение к файлу в день - проблем нет. Когда у вас 30 раз в секунду сервер скажет: "Ой, я кажется фсё" и уйдет отдыхать.

UL
На сайте с 04.08.2013
Offline
68
#36
Dreammaker #:

X-Accel-Redirect

Это вроде довольно старый метод. По-моему на некоторых wap-овских сайтах 15 летней давности использовали такой подход. На них считали все: просмотры, скачивания... При этом посещаемость у них была не хилая, около 100 тыс/сутки.

UL
На сайте с 04.08.2013
Offline
68
#37


И если у ТСа возник такой вопрос, то скорее всего, вряд ли там посещаемость сколько-нибудь значимая. Хотя да, хотелось бы знать больше вводных.

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

S
На сайте с 13.10.2014
Offline
171
#38
use_linux #:

Поэтому я и задался вопросом как с точки зрения производительности экономнее будет их считать, поскольку для работы самого сайта  тоже необходимо несколько запросов к БД на страницу и пр

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

Sly32
На сайте с 29.03.2012
Offline
303
#40
silicoid #:

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

Отдельный скрипт в памяти для статистик да и еще в кеше - жестишь))

1 234

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий