mysql — уникальный счетчик посещаемости

Я хотел бы добавить счетчик посетителей на мой сайт.

Макс Статистика:

1 миллион просмотров в минуту

6 запросов на загрузку страницы

Поэтому я прошу вас,
Является ли MYSQL и PHP для уникального счетчика посетителей лучшим решением?

Или я должен использовать что-то другое?

-1

Решение

Для 1 миллиона просмотров в минуту, когда вы считаете количество просмотров как счетчик посещений (более того, с проверкой дубликатов) … php / mysql не будет работать очень хорошо (если у вас нет большой фермы серверов).

Если вам нужна в реальном времени хит-кутинг, я бы сделал это, используя комбинацию nginx + redis http://redis4you.com/code.php?id=009 + JavaScript, не используя php и mysql вообще.

1 — Jquery (или javascript) может проверить, есть ли у пользователя cookie, и если нет, сохранить «уникальный случайный cookie хеша» для каждого (user + page) (не просто использовать ip, потому что несколько пользователей за прокси могут использовать тот же ip, например: крупные компании с прокси для интернета, университеты, общедоступный wifi и т. д.).

2 — После генерации хеша или, если cookie существует, Jquery может решить сделать асинхронный запрос к серверу nginx, используя хеш в качестве идентификатора.

3 — Nginx может напрямую общаться с Redis через апстрим (очень быстро) (https://github.com/openresty/redis2-nginx-module) и может также проверить наличие файлов cookie, если это необходимо.

4 — Redis очень быстр и может автоматически увеличивать значения (попадания) на основе значения ключа (например, идентификатора страницы), сохраняя перезагрузки (в отличие от memcache).

5 — Вы можете легко запросить redis из php (например, memcache), чтобы отобразить счетчик посещений на любой странице.

===

Другим возможным способом (но не в реальном времени) будет установка поля с nginx и включение журнала доступа.

1 — На вашем сайте включите JavaScript, который вызывает файл на этом сервере nginx, например: http://stats.server.com/hit.js?page=12345&userhash=some_md5_hash_here

2 — Настройте задание cron на сервере nginx для анализа этих журналов на предмет уникальных представлений.

3 — Nginx может легко обслуживать 20 000 запросов в секунду на компьютере E3 1230v2.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]