Performance nosqldb性能测试

Performance nosqldb性能测试,performance,testing,nosql,load-testing,database-performance,Performance,Testing,Nosql,Load Testing,Database Performance,假设您有一个nosql数据库——redis、cassandra、mongodb。您需要检查该数据库的总体性能—各种平台、操作系统,甚至用于测试的编程语言。它不绑定到特定的应用程序或模式 你想看什么测试?你能帮我制定要求吗? 数据库如何在集群中运行 在破碎的集群中 云端环境 当10k连接打开时,它如何执行查询 您将使用什么工具? 它是否类似于JMeter->http服务器->数据库 Jmeter->tcp应用程序->数据库 其他的 我发现的所有关于数据库性能测试的材料都类似于将数据库作

假设您有一个nosql数据库——redis、cassandra、mongodb。您需要检查该数据库的总体性能—各种平台、操作系统,甚至用于测试的编程语言。它不绑定到特定的应用程序或模式

  • 你想看什么测试?你能帮我制定要求吗?
    • 数据库如何在集群中运行
    • 在破碎的集群中
    • 云端环境
    • 当10k连接打开时,它如何执行查询
  • 您将使用什么工具?
    • 它是否类似于JMeter->http服务器->数据库
    • Jmeter->tcp应用程序->数据库
    • 其他的
我发现的所有关于数据库性能测试的材料都类似于将数据库作为某个产品(特定方案、特定环境)的一部分进行测试。 当数据库是产品本身时,您是否考虑过数据库性能测试

期待您的帮助

-vova

在本文中,我列出了一系列正确的基准,它们清楚地定义了基准的目的,并比较了类似的特性(苹果对苹果的比较);有太多的基准,至少有一个基准的基本要求是失败的。通过这些,您将能够提取出对您自己的基准测试感兴趣的部分,并了解使用了哪些工具,还可以获得一些基准测试代码

到目前为止,最通用的NoSQL基准是YCSB(Yahoo云服务基准)。最近发布了针对一些最流行的NoSQL解决方案运行此基准测试的结果,这可能会让您了解如何解释结果

  • 检查此数据库的总体性能
除非您需要这样做是为了好玩,或者您只是为了获得基准而想要获得基准,否则我建议根据实际问题/需求定制一个性能基准

例如,你真的需要疯狂的快速写作吗?你能接受丢失数据吗?您介意花时间配置故障转移吗?你打算扩大规模还是缩小规模?您是否计划使用TBs数据?等等

从您给出的示例=>Redis、Cassandra和MongoDB有很大不同:

Redis主要是缓存,速度非常快,但作为一个缓存,它对进行中等复杂度的聚合没有多大帮助。然而,这是目前最好的缓存(我的意见)。“Redis+杀手DB”是一个理想的组合。它也有一个内置的,你可以尝试

Cassandra是一款仿效Google Big Table的实体产品(但我相信你已经知道了)。如果您有很多节点,它的伸缩性很好,但是如果您达到TBs的数据量,那么添加节点可能需要几天的时间。这也不是一个简单的方法。但是如果你愿意付钱的话,有一些优秀的人可以把所有的复杂性都带走。我有一个非常简单的方法可以帮助你开始


MongoDB是一个很棒的数据库,原因有很多:非常性感和简单的查询语言、良好的文档、巨大的社区等等。。在其他方面不太好:需要花时间正确地切分,然后再重新切分[与自动进行切分的Riak相比]。如果数据[不仅仅是索引]适合RAM,则速度非常快(写入),如果不适合,则速度会非常快。有一种持续的猜测是,如果数据集不太大,那么聚合查询可能需要一段时间(来自一位Basho工程师:“我个人花了一些时间寻找方法来证明MongoDB在失败时会丢失写操作”)。我有一个很好的例子,你可能会觉得很有用。

如果你还想看到一些更简单的或者我提到的那些不正确的基准,你会发现YCSB中的一个很好的选择是值得检查的。非常感谢。我们需要对varios语言运行测试来检查不同驱动程序的性能的唯一问题是,我们将此数据库视为一个产品。因此,我们没有给出任何测试要求,只是一个测试要求,我们正在尝试制定策略-执行性能测试的内容和方法。“将此数据库视为产品”=>以解决特定问题或仅用于学术目的?指向github的所有链接都已断开。