簡體   English   中英

在線用戶和服務器指標

[英]Online users and server metrics

我想在我的網站上建立一個在線用戶計數器,起初我想在每個頁面中都包含一個websocket片段,但這對我來說似乎有點過頭了,因為我真的不需要每隔半秒鍾就不斷進行乒乓球運動,而是每五秒鍾執行一次ping(例如)。 出於性能方面的原因,我認為最好的方法是讓客戶端將ping發送到服務器,而最后一個僅接收ping而不會發送任何東西。 我也想衡量帶寬消耗或用戶在線時間。

你會怎么做? Websocket還是每X秒在某個地方發布JSON? 您能想到的任何現成的解決方案嗎? 謝謝

我認為使用網絡套接字可以實現最准確的結果。 這是一個非常高級的實現,您可以填寫內容。

  1. 套接字具有用於連接,斷開連接和錯誤的事件,因此您只需要注冊關於套接字連接事件的用戶統計信息。

  2. 注銷有關套接字斷開事件的用戶統計信息。

  3. 套接字連接事件可以發送信息,例如用戶訪問的頁面以及您可能希望發送的任何其他信息。

  4. 不需要任何ping / pong代碼,套接字事件將自己處理所有事情。

  5. 您可以從主服務器上卸載此連接,並擁有一個用於收集用戶統計信息的單獨服務器。

如果您已經很好地維護了代碼,則無需在每個頁面上添加套接字代碼段。 例如,您只需要將其添加到模板中即可。

另一個較便宜但不太准確的解決方案是每15分鍾檢查一次會話文件。 最近15分鍾內未訪問的所有會話文件都是斷開連接的用戶,因此從會話文件總數中減去它們,您將獲得最近15分鍾內處於在線狀態的用戶。 我不確定您將如何使用這種方法收集詳細的統計信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM