如何测试和基准aerospike

时间:2015-02-14 17:20:48

标签: benchmarking couchbase aerospike

我试图做一个使用aerospike的基准测试,例如,假设我想测试存储文件可能是在airospike中的JSON并对couchbase做同样的测试,我可以使用它来测试什么样的工具/方法在aerospike和couchbase之间。

3 个答案:

答案 0 :(得分:5)

我对Couchbase不是很熟悉,但可以指出你对Aerospike的基准测试(我在那里工作)。 YCSB(雅虎云系统基准测试)可能是两者兼用的最佳工具。 Here is用于对抗Aerospike的代码。

现在对于Aerospike的具体基准测试,我建议使用Aerospike的基准测试工具之一,例如Java benchmark tool并使用字符串(-o S :)或Java blob(-o B :)和一个长度与您的json文档相当。

例如:

./run_benchmarks -h 127.0.0.1 -p 3000 -n test -k 10000000 -b 1 -o B:1400 -w RU,80 -z 8

这将运行80%读取和20%写入(-w RU,80)以及使用8个并发线程(-z 8)的工作负载。

要考虑的一些要点:

  • 理想情况下,这应针对2+节点群集运行(因此请检查复制因子2)。
  • 您可能需要超过1个客户端主机,因为在使群集饱和之前可能会遇到客户端瓶颈。
  • 您可能希望找到适合您的工作负载/对象大小的最佳线程数。通常在60到100之间。

最后,我建议阅读一些与基准测试Aerospike和其他NoSQL数据库相关的published document。特别是this one

希望这有帮助!

答案 1 :(得分:2)

对于Couchbase,此过程类似,Couchbase提供了一种工具,可通过cbworkloadgen在群集上生成大量流量。

与上述航空航天公司建议的工作量相当的工作量将按如下方式执行(根据您的操作系统在上述链接中指定的目录中):

./cbworkloadgen -n 127.0.0.1:8091 -u username -p password -j -i 10000000 -r 0.2 -t 8

与Aerospike的示例一样,80:20再次使用JSON文档读取/写入(-r 0.2)和8个并发线程(-t 8)(注意,不是JSON blob )存储(-j

如果您正在为将来的用例进行基准测试,请尝试使用接近您将要使用的设置(即,硬件配置的多个节点接近您打算使用的设置),无论是在数据存储区方面集群和客户端主机(即多个主机)。

最后,许多不同的公司将产生许多不同的基准,这些基准可能会或可能不会准确地表示您可以获得的软件性能(以及他们声称它将如何与竞争对手相关)。您必须彻底研究并将任何声明与您自己的基准相匹配,这一点非常重要。一些已发布的基准测试可能会返回一个级别的性能,而在您的特定设置上可以获得相同的性能可能,但可能需要非常精细的调整(并且您需要付出大量的努力)。

答案 2 :(得分:1)

我最近试图测试Aerospike。我使用的基准是airospike-client中包含的benchmark。这可能是一个不错的选择。 :)