各位前輩好
到目前為止小弟所接觸過的資料庫整體資料量最多可能才不過單一table達1GB,不過因最近承接一案件開發,主要接收網路設備的syslog,主要要分開考量資料儲存寫入的效能以及查詢讀取的效能
評估效能這件事過去一直沒有實際經驗,想知道若要在著手設計之前我要如何去計算效能數據的演算法?
我目前想到的方式,若已知就一個table欄位儲存15的columns儲存4000筆data使用1.6MB空間,推算要儲存50,000,000筆同質資料約20GB空間
而我應該如何去推算要從這5千萬筆資料內搜尋單一筆資料紀錄所需耗費的時間?
我目前想到的可能性是假設我可以得知從50筆搜尋一筆資料耗時0.002秒,從500筆資料耗時0.008秒(以上是假設數據)然後這樣推測到50,000,000時所耗時的秒數
但我的問題在於這過程應該還有很多沒列入的條件因素,例如:索引設定在哪個column造成的影響,資料形態造成的影響等,因此我想瞭解是否有演算法公式可以計算這類效能問題先概略知道目標值再去測試?
sanhuang提到:
而我應該如何去推算要從這5千萬筆資料內搜尋單一筆資料紀錄所需耗費的時間?我目前想到的可能性是假設我可以得知從50筆搜尋一筆資料耗時0.002秒,從500筆資料耗時0.008秒(以上是假設數據)然後這樣推測到50,000,000時所耗時的秒數
亂數產生 3000萬筆 測試 一下就知道了
sanhuang提到:
主要接收網路設備的syslog
log 的東西 一定是每月分 Table
我們銀行資安 log 每月也不會超過 1000萬筆
感謝提供概念,您說的方式用實際情況來測試並獲取結果
但主要狀況是就手邊能夠建置出來的環境一定不可能是實際上線使用伺服器等級的效能所跑的結果,因此測試數據還要排除一些變因
我的問題主要想知道在進行模擬測試時,我要怎麼佐證我得到的效能數據換到實際使用伺服器可從原本從1000萬筆log紀錄搜尋特定單一IP所需時間從60秒可以確切縮短至目標值10秒之類的需求(舉例數值)
謝謝
sanhuang提到:
從1000萬筆log紀錄搜尋特定單一IP所需時間從60秒
IP 當Key 就解決