1. Redis記憶體分析器(RMA)
RMA是可用於Redis的最全面的FOSS記憶體分析器之一。它支援三種不同級別的詳細分析。全域-記憶體使用資訊概述;掃描(Scanner)-最高層級的鍵空間/前綴層級的記憶體使用訊息,即使用最短的公共前綴;RAM-最低層級的鍵空間/前綴,即使用最長的公共前綴。
RMA在全域模式下提供多種高級統計信息,包括金鑰數、系統記憶體、常駐集大小和金鑰空間大小等。唯一的功能是“密鑰空間開銷”,即Redis系統使用的記憶體存儲與鍵空間有關的信息,例如列表資料結構的指針;
在掃描模式下,獲得密鑰空間的概述。這個系統提供了進階的命名空間,以及其元素的類型和該命名空間所佔用的記憶體百分比。詳細分析結合名稱空間模式和「 RAM」存取行為會非常有用。
RAM模式下,可以獲得與其他大多數FOSS記憶體分析器相同的鍵空間層級記憶體消耗資訊。詳細資訊將包括關於所使用的記憶體、實際資料大小、開銷、編碼、最小值和最大值,以及TTL等方面的資料。這有助於查明系統中最大的記憶體消耗是什麼。
儘管GitHub上的最後一次提交已經超過一年了,但該工具並不總是被更新。但即便這樣,它也是進行記憶體詳細分析的最佳方法之一。
2. Redis Sampler
Redis Sampler is an incredibly powerful tool that enables a thorough understanding of a Redis instance's memory usage.。 This tool is maintained by antirez, the developer behind Redis, and his in-depth knowledge of Redis is reflected in this tool.。工具的更新頻率不是很高,但是報告的問題不多。
Redis Sampler對資料庫進行機率掃描,並報告以下資訊:
鍵在各種資料類型中的百分比分佈-基於鍵的數量,而不是對象的大小。
基於strlen的字串類型的最大鍵,以及它們消耗的記憶體百分比。
對於所有其他資料類型,最大的鍵被計算並顯示為兩個單獨的列表:一個基於物件的大小,另一個基於物件中的項目數。
每種資料型態都呈現「2的冪分佈」。這對於理解資料類型內的大小分佈非常有用。這句話可以重寫為:此輸出顯示了所給予類型鍵的大小百分比,區間為大於2的x次方且小於等於2的x 1次方。
3. RDB工具
對Redis管理員來說,RDB工具是非常有用的工具套件。儘管RDB工具不像RMA或Redis Sampler那麼全面,但它提供了三個重要的資訊。
1.所有鍵的值(序列化)的大小都大於B位元組[使用者指定的B]。 1. N的最大值是由使用者指定的;2. 特定密鑰的大小是即時從資料庫讀取的。
該套件在GitHub上有許多活躍的參與者,並且經常更新。維護者Sripathi Krishnan多年來在Redis社區中廣為人知,因為他提供了許多工具。
4. Redis-Audit
Redis-Audit是一個快速了解記憶體使用情況的機率性工具。它會輸出有關密鑰組的有用信息,例如總體內存消耗,該組中的最大TTL,平均上次訪問時間,該組中過期的密鑰百分比等。如果你需要找到最多佔用的內存,這是一個完美的工具。它可在你的應用程式中切換密鑰組。而且,它適用於所有Redis版本。
5. Redis工具包
Redis Toolkit是一個基本的監控解決方案,可用來分析兩個關鍵指標:命中率和記憶體消耗。該項目會定期更新,以進行錯誤修復。無論是哪個Redis版本,它都擁有易於理解的介面,為你提供所需的確切資訊。
6. Harvest
Harvest是一個機率抽樣工具,可用於根據鍵的數量識別10個最大的名稱空間/前綴。作為一款新工具,它在GitHub上並沒有吸引太多注意力。若你第一次接觸Redis,想要確認哪種應用程式資料佔了實例,使用Harvest還是不錯的選擇。它僅適用於Redis v4.0及更高版本。
不得不說的免費工具限制
雖然這些免費工具對於調試Redis實例的記憶體問題非常有幫助,但需要認識到它們的限制性。這些付費工具提供一定形式的數據視覺化,但它們都需要進行配置才能使用。最好的結果是CSV輸出,可以使用其他FOSS工具進行視覺化,而且許多工具甚至沒有該選項,這使得學習曲線變得陡峭,特別是對於Redis新手用戶。如果你需要經常進行記憶體分析,那麼使用提供出色視覺化功能的付費工具是值得推薦的。
另一個限制是儲存歷史資訊的能力,也沒有隨時間變化的記憶體消耗圖,而且許多甚至無法分析即時資料。
以上是高效能記憶體資料庫Redis的免費工具有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!