當前位置:
首頁 > 知識 > 監測資料庫的健康和行為:有哪些重要指標?

監測資料庫的健康和行為:有哪些重要指標?

監測資料庫的健康和行為:有哪些重要指標?

打開今日頭條,查看更多精彩圖片

編譯自: https://opensource.com/article/18/10/database-metrics-matter

作者: Katy Farmer

譯者: Leon Chi

對資料庫的監測可能過於困難或者沒有找到關鍵點。本文將講述如何正確的監測資料庫。

我們沒有對資料庫討論過多少。在這個充滿監測儀器的時代,我們監測我們的應用程序、基礎設施、甚至我們的用戶,但有時忘記我們的資料庫也值得被監測。這很大程度是因為資料庫表現的很好,以至於我們單純地信任它能把任務完成的很好。信任固然重要,但能夠證明它的表現確實如我們所期待的那樣就更好了。


監測資料庫的健康和行為:有哪些重要指標?



為什麼監測你的資料庫?

監測資料庫的原因有很多,其中大多數原因與監測系統的任何其他部分的原因相同:了解應用程序的各個組件中發生的什麼,會讓你成為更了解情況的,能夠做出明智決策的開發人員。


監測資料庫的健康和行為:有哪些重要指標?


更具體地說,資料庫是系統健康和行為的重要標誌。資料庫中的異常行為能夠指出應用程序中出現問題的區域。另外,當應用程序中有異常行為時,你可以利用資料庫的指標來迅速完成排除故障的過程。


問題

最輕微的調查揭示了監測資料庫的一個問題:資料庫有很多指標。說「很多」只是輕描淡寫,如果你是 史高治(Scrooge McDuck)(LCTT 譯註:史高治,唐老鴨的舅舅,以一毛不拔著稱),你不會放過任何一個可用的指標。如果這是 摔角狂熱(Wrestlemania) 比賽,那麼指標就是摺疊椅。監測所有指標似乎並不實用,那麼你如何決定要監測哪些指標?


監測資料庫的健康和行為:有哪些重要指標?



解決方案

開始監測資料庫的最好方式是認識一些基礎的資料庫指標。這些指標為理解資料庫的行為創造了良好的開端。


吞吐量:資料庫做了多少?

開始檢測資料庫的最好方法是跟蹤它所接到請求的數量。我們對資料庫有較高期望;期望它能穩定的存儲數據,並處理我們拋給它的所有查詢,這些查詢可能是一天一次大規模查詢,或者是來自用戶一天到晚的數百萬次查詢。吞吐量可以告訴我們資料庫是否如我們期望的那樣工作。

你也可以將請求按照類型(讀、寫、伺服器端、客戶端等)分組,以開始分析流量。


執行時間:資料庫完成工作需要多長時間?

這個指標看起來很明顯,但往往被忽視了。你不僅想知道資料庫收到了多少請求,還想知道資料庫在每個請求上花費了多長時間。 然而,參考上下文來討論執行時間非常重要:像 InfluxDB 這樣的時間序列資料庫中的慢與像 MySQL 這樣的關係型資料庫中的慢不一樣。InfluxDB 中的慢可能意味著毫秒,而 MySQL 的 SLOW_QUERY 變數的默認值是 10 秒。


監測資料庫的健康和行為:有哪些重要指標?


監測執行時間和提高執行時間不一樣,所以如果你的應用程序中有其他問題需要修復,那麼請注意在優化上花費時間的誘惑。


並發性:資料庫同時做了多少工作?

一旦你知道資料庫正在處理多少請求以及每個請求需要多長時間,你就需要添加一層複雜性以開始從這些指標中獲得實際值。

如果資料庫接收到十個請求,並且每個請求需要十秒鐘來完成,那麼資料庫是忙碌了 100 秒、10 秒,還是介於兩者之間?並發任務的數量改變了資料庫資源的使用方式。當你考慮連接和線程的數量等問題時,你將開始對資料庫指標有更全面的了解。

並發性還能影響延遲,這不僅包括任務完成所需的時間(執行時間),還包括任務在處理之前需要等待的時間。


利用率:資料庫繁忙的時間百分比是多少?

利用率是由吞吐量、執行時間和並發性的峰值所確定的資料庫可用的頻率,或者資料庫太忙而不能響應請求的頻率。


監測資料庫的健康和行為:有哪些重要指標?


該指標對於確定資料庫的整體健康和性能特別有用。如果只能在 80% 的時間內響應請求,則可以重新分配資源、進行優化工作,或者進行更改以更接近高可用性。


好消息

監測和分析似乎非常困難,特別是因為我們大多數人不是資料庫專家,我們可能沒有時間去理解這些指標。但好消息是,大部分的工作已經為我們做好了。許多資料庫都有一個內部性能資料庫(Postgres:pg_stats、CouchDB:Runtime_Statistics、InfluxDB:_internal 等),資料庫工程師設計該資料庫來監測與該特定資料庫有關的指標。你可以看到像慢速查詢的數量一樣廣泛的內容,或者像資料庫中每個事件的平均微秒一樣詳細的內容。

結論

資料庫創建了足夠的指標以使我們需要長時間研究,雖然內部性能資料庫充滿了有用的信息,但並不總是使你清楚應該關注哪些指標。從吞吐量、執行時間、並發性和利用率開始,它們為你提供了足夠的信息,使你可以開始了解你的資料庫中的情況。


監測資料庫的健康和行為:有哪些重要指標?


你在監視你的資料庫嗎?你發現哪些指標有用?告訴我吧!



via: https://opensource.com/article/18/10/database-metrics-matter

作者: Katy Farmer 選題: lujun9972 譯者: ChiZelin 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出

點擊「了解更多」可訪問文內鏈接

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux技術 的精彩文章:

Lisp 是怎麼成為上帝的編程語言的
讓 Python 代碼更易維護的七種武器

TAG:Linux技術 |