我有一個用PHP和Javascript編碼並使用MySQL的吼吼箱。 它的功能就像這樣..我們有一個refresh.txt文件來檢查新的留言,如果有新的留言呼叫數據庫來獲取新的留言。吼吼箱:計算用戶活躍度的最佳方式
現在大家都知道shoutboxs的主要問題是CPU使用率。 所以我想知道是否有一種方法來計算活動用戶,而不會在服務器上增加太多的額外壓力。 也許通過Javascript?
不幸的是我沒有任何源代碼,因爲它將是一個新功能。 任何幫助將是偉大的,謝謝。
我有一個用PHP和Javascript編碼並使用MySQL的吼吼箱。 它的功能就像這樣..我們有一個refresh.txt文件來檢查新的留言,如果有新的留言呼叫數據庫來獲取新的留言。吼吼箱:計算用戶活躍度的最佳方式
現在大家都知道shoutboxs的主要問題是CPU使用率。 所以我想知道是否有一種方法來計算活動用戶,而不會在服務器上增加太多的額外壓力。 也許通過Javascript?
不幸的是我沒有任何源代碼,因爲它將是一個新功能。 任何幫助將是偉大的,謝謝。
難道這些用戶登錄用PHP會議?如果是這樣,在會話保存目錄中只需count the number of active session files。這不是CPU密集型的,並且不涉及數據庫調用。此外,如果您仍然在避免數據庫調用,那麼您可以使用私人文件跟蹤不同的客戶端(例如IP地址)以及他們最後一次從服務器請求資源的時間。有關此in this question的更多信息。但是,如果多個用戶從同一網絡(例如學校或企業)訪問,則會出現邏輯錯誤,並且解決方案是使用Cookie或會話記錄個別用戶。
您可能也有興趣long polling(Javascript)。它保持與服務器的連接打開,偶爾會檢查是否有新數據。當計算沒有,本身會話或cookie的活動用戶數時,這可能很有用。
只需要一個活動計數器。只要指望在最後4分鐘內活躍的任何人。然後使用JS從服務器每10秒鐘請求一個數字。
否則,我寧願只是使用第三方產品如http://www.shoutmix.com
我也喜歡這個答案。每4分鐘撥打一次電話,並將其顯示在在線列表中。聽起來可行並且不會那麼緊張。我正在使用SMF,所以我可以讓它使用SSI,然後調用who_is,然後將它們記錄爲在線..然後,我仍然需要JS中的統計計數器來顯示在線吼吼箱中的實際號碼。 –
是一個非常有趣的答案..我現在開始看這些選項..我沒有會議目錄我正在使用SMF的論壇..不是100%如何工作..我認爲有會議存儲在數據庫中。理想的解決方案是能夠獲得在線用戶的列表。 我想要這個todo的主要原因是因爲這個論壇只存儲了最近15分鐘內在線的人。但是我知道有更多的在線內容。很高興看到誰在線。 –
根據我的經驗,Simple Machine的在線用戶(和客人)數量相當準確。如果你仍然想要你自己,我可以聯繫。對於家庭網站,我構建了一個從頭開始(使用jQuery)的AJAX支持的Shoutbox功能。如果只有一個用戶在線,它根本不會進行輪詢,節省資源。在線的用戶越多,輪詢的次數就越多(絕不會比每10秒鐘更頻繁一次)。每次用戶加載頁面時,都會在數據庫中更新其上一次活動時間。我發現這對小型項目是有效的。我也學到了很多東西。 – Matt