数据库分析实例的内存更有针对性

    作者:云智时代更新于: 2020-04-17 16:42:49

    高性能内存数据库Redis的免费工具,分析实例的内存更有针对性.数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。一个数据库由多个表空间(Tablespace)构成。

    在分析Redis实例的内存使用情况时,市场上有许多免费和开源工具,以及少量的付费产品。最受欢迎的工具是Jacks(各行各业),但是如果您想对内存问题进行更深入的分析,则最好使用针对性更强,鲜为人知的工具。

    数据库分析实例的内存更有针对性_数据库_MySQL_Redis_课课家

    这里汇总了几种有用的免费工具,这些工具在分析Redis实例的内存使用情况时很有用。

    1. Redis内存分析器(RMA)

    RMA是可用于Redis的最全面的FOSS内存分析器之一。它支持三种不同级别的详细分析。全局-内存使用信息概述;扫描(Scanner)-最高级别的键空间/前缀级别的内存使用信息,即使用最短的公共前缀;RAM-最低级别的键空间/前缀,即使用最长的公共前缀。

    在全局模式下,RMA提供一些高级统计信息,例如密钥数,系统内存,常驻集大小,密钥空间大小等。唯一的功能是“密钥空间开销”,即Redis系统使用的内存存储与键空间有关的信息,例如列表数据结构的指针;

    在扫描模式下,获得密钥空间的概述。它提供了高级名称空间,以及其项的类型和该名称空间消耗的内存百分比。然后将“ RAM”行为与名称空间模式结合使用进行详细的分析非常有用。

    在RAM模式下,可获得其他大多数FOSS内存分析器提供的键空间级内存消耗。将获得有关所用内存,实际数据大小,开销,编码,最小和最大的详细信息,TTL等。这有助于查明系统中最大的内存消耗是什么。

    虽然该工具并非总是更新,GitHub上的最后一次提交是一年多以前了。但即便这样,它也是进行内存详细分析的最佳方法之一。

    2. Redis Sampler

    Redis Sampler是一个非常强大的工具,可以深入了解Redis实例的内存使用情况。它由Redis背后的开发人员antirez维护,并且对Redis的深入了解通过此工具得以体现。该工具的更新频率不是很高,但是报告的问题并不多。

    Redis Sampler对数据库进行概率扫描,并报告以下信息:

    • 键在各种数据类型中的百分比分布-基于键的数量,而不是对象的大小。
    • 基于strlen的字符串类型的最大键,以及它们消耗的内存百分比。
    • 对于所有其他数据类型,最大的键被计算并显​​示为两个单独的列表:一个基于对象的大小,另一个基于对象中的项目数。
    • 对于每种数据类型,它还显示“Power of 2 distribution”。这对于理解数据类型内的大小分布非常有用。输出基本上详细说明给定类型的键的大小百分比在>2^x和<=2^x+1范围内。

    3. RDB工具

    对于Redis管理员来说,RDB工具是非常有用的工具套件。RDB工具虽然不如RMA或Redis Sampler全面,但它提供了3条重要信息。

    1.所有键的值(序列化)的大小都大于B字节[用户指定的B]。2.最大N键[用户指定N];3.特定密钥的大小:这是从数据库实时读取的。

    该套件在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新手用户。如果你可能经常进行内存分析,那么值得看一下提供良好可视化功能的付费工具。

    另一个限制是存储历史信息的能力,也没有随时间变化的内存消耗图,而且许多甚至无法分析实时数据。

    数据库(Database)是按照 数据结构来组织、 存储和管理数据的建立在计算机存储设备上的仓库。

    简单来说是本身可视为 电子化的文件柜——存储电子 文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。

课课家教育

未登录

1