首頁 >後端開發 >php教程 >每10秒取得一次數據,求一天內8640次數據的平均值,有什麼好的演算法?

每10秒取得一次數據,求一天內8640次數據的平均值,有什麼好的演算法?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2016-08-27 09:06:541253瀏覽

是這樣,我PHP端,每10秒鐘要獲取一次子伺服器的數據,如果每次都寫數據庫,紀錄次數,到最後數據量就太大,如果有100個子服,那就性能問題就更嚴重了,考慮過寫redis,但是寫redis的話,json字符串也是夠大的,而且在計算平均值的時候也比較麻煩,各位有沒有什麼好的算法解決?例如可以隔一段時間計算平均值,或是存資料的時候有什麼好的建議,希望多多幫忙,謝謝大家!

回覆內容:

是這樣,我PHP端,每10秒鐘要獲取一次子伺服器的數據,如果每次都寫數據庫,紀錄次數,到最後數據量就太大,如果有100個子服,那就性能問題就更嚴重了,考慮過寫redis,但是寫redis的話,json字符串也是夠大的,而且在計算平均值的時候也比較麻煩,各位有沒有什麼好的算法解決?例如可以隔一段時間計算平均值,或是存資料的時候有什麼好的建議,希望多多幫忙,謝謝大家!

額。我太蠢了,每次接收數據記錄次數,然後每次來新數據,就加到老數據上,最後再除以總次數,大家看這樣行不行?

題主你的方法沒問題,另外在存資料的時候,你也可以批次寫啊,例如100個伺服器,讀10個寫一次,一共寫10次。 10秒鐘寫10次資料庫對資料庫來講毫無壓力啊

題主方法正確,每來個數據,計算一次評論,旁邊設定一個總次數計數器

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn