2009-05-15 32 views
5

Chúng tôi đang cố gắng tìm hiểu cách hoạt động của phần mềm theo dõi web phổ biến, như Google Analytics.Làm cách nào để theo dõi cookie hoạt động?

Chúng tôi nhận thấy rằng nhiều mã theo dõi Javascript từ khắp nơi trên web tạo nhiều cookie trên hệ thống của khách truy cập, thường là ba cookie-- một cookie hết hạn vào cuối ngày, một ngày hết hạn vào cuối tuần, và một kết thúc hết hạn vào cuối tháng.

Nhóm của chúng tôi đã tranh luận tại sao điều này là phổ biến và chúng tôi đã xé tóc ra để tìm ra lý do tại sao người ta có thể làm điều này. Điều duy nhất chúng tôi có thể nghĩ là hiệu suất: theo cách này bạn có thể tính toán liệu khách truy cập có lặp lại mỗi ngày, tuần hoặc tháng mà không phải thực hiện truy vấn nặng trên cơ sở dữ liệu OLTP mọi lúc không. Không phải lúc nào cũng có thể truy cập. Nhưng chúng ta có thể quan niệm cách để làm cho nó hoạt động tốt.

Lợi ích của việc tạo cookie theo dõi theo cách này là gì và bạn nghĩ chúng đang được những người khác sử dụng như thế nào?

Trả lời

4

Có thể họ đang sử dụng cookie theo cách này để xác định tần suất truy cập vào miền. Nếu bạn truy cập vào trang web và nó lưu ý rằng bạn vẫn có cookie hết hạn trong ngày, thì điều đó là đáng kể về tần suất truy cập của bạn. Nếu tất cả những gì bạn có là hàng tuần và hàng tháng, thì rõ ràng là bạn chưa truy cập trang web trong ít nhất một ngày và cuối cùng trong tuần.

Không có quy tắc nào nói rằng đây là cách duy nhất để thực hiện việc này. Người ta có thể theo dõi với một cookie duy nhất và thống kê lưu trữ trên máy chủ.

+0

Vâng đó là những gì chúng tôi nghĩ. Nó phải chỉ cho hiệu suất. – RibaldEddie

3

Câu hỏi rất thú vị. Tôi nghĩ rằng đây là giải pháp cho hotel problem. Chúng ta hãy xem xét từ phối cảnh truy vấn DB. Nếu một cookie duy nhất được gửi đến người dùng (với thời hạn sử dụng ví dụ như bằng một năm), số lần truy cập hàng ngày cho trang web sẽ là một cái gì đó như thế này:

SELECT COUNT(DISTINCT CookieId) FROM Visits 
WHERE VisitDate = '2009-01-01' AND SiteId = 548 

Với hệ thống nhiều cookie, bạn phải lưu trữ chỉ số cookie ban hành mỗi ngày cho mỗi trang web và tăng nó mỗi khi bạn gửi một cookie mới:

SELECT NoOfVisits FROM Visits 
WHERE VisitDate = '2009-01-01' AND SiteId = 548 

Đây là một tiện ích rõ ràng khi có hàng trăm triệu cookie đã ban hành hàng năm.

1

Sử dụng 3 cookie mỗi ngày, tuần và tháng có nghĩa là phía khách hàng đang gửi lại cho bạn 3 cookie trên mỗi yêu cầu, điều này rõ ràng không tốt với băng thông mạng và phối cảnh độ trễ. Vì vậy, bạn nên có một hành động cân bằng ... chỉ sử dụng một cookie nếu bạn quan tâm nhiều hơn đến độ trễ của người dùng hơn là sử dụng cpu máy chủ trong cơ sở dữ liệu, sử dụng phương pháp 3 cookie nếu bạn quan tâm nhiều hơn đến việc sử dụng cpu của máy chủ độ trễ của người dùng. Giải pháp thực sự là tạo ra một lai: chỉ sử dụng một cookie và sau đó vào cuối mỗi ngày thực hiện truy vấn đầu tiên và lưu kết quả trong một bảng hoặc cột riêng biệt, để giao diện thống kê của bạn chỉ phải truy vấn kết quả riêng biệt.

Các vấn đề liên quan