Bir sayfa görüntüleme DB nasıl yönetileceği

2 Cevap php

Benim sitede benim kullanıcıların pageviews izleme ilgileniyorum. Trafik çok hızlı bir şekilde genişlemekte olduğunu olmak, vb robotlar, endişe duyuyorum ve ben de (Google analytics kullanabilir yaparken bu yüzden, bu amaca hizmet etmez) paletli veri kullanıcı deneyimini değiştirmek için yaşamak kullanmak mümkün olmak istiyorum .

Benim bilgileri depolamak için en etkili yolu nedir? İşte benim geçerli teori, eleştiri ve / veya daha fazla fikir sunmak lütfen :)

Strategy: yük istemci ip, sayfa url, tarayıcı / sürüm, zaman damgası, sevk toplayın ve MySQL içine bir satır eklemek. "Arşivi" tablo için zaman veya performansa dayalı bazı aralığını belirlemek ve satırları silmek, ya da cron üzerinden yeni bir tane oluşturun ya.

Bu kararlı mı?

2 Cevap

Makul geliyor. O masa MYIASM yapmak ve ekler mümkün olduğunca hızlı olmasını istiyorsanız, herhangi bir dizin olmamalıdır.

Ben tamamen emin değilim, ama nasıl kullanıcıların bir tablo hakkında (belki kurabiye ya da oturumu aracılığıyla, bir kullanıcı kimliği atamak), sayfalarınızın bir tablo (bu pratik olabilir ya da değil, üretilen konum nasıl bağlı) ve bir izleme tablo her kullanıcı kimliği bakar (bazı benzersiz sayfa-id tanımlayıcı ile) hangi sayfaları göstermek için?

Pages:
page_id | page
01      | homepage
02      | site map
03      | about us

users
user_id  | user_ip_or_cookie_identifier
01       | 127.0.0.1
02       | 192.168.0.2

tracking
user_id  | page_id
01       | 01
01       | 03
02       | 01
01       | 02

(Vs ..)

Sonra sadece MySQL (veya ne olursa olsun DB kullandığınız) sayfaları hangi kullanıcı tarafından izlendi edildiği almak için sorgu kullanabilirsiniz.

Birincil zayıflıklar (onları giriş sürece), kullanıcıların çalışma / evden farklı tanımlayıcılar sahip olacağını ve her ip adresi ve potansiyel olarak, her çerez / oturumda birden çok kullanıcı (kullanıcılar kendi iş istasyonlarını paylaşmak ne kadar açık bağlı / adet).