大佬教程收集整理的这篇文章主要介绍了NoSQL性能测试工具:memtier_benchmark,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
《Nosql性能测试工具:memtIEr_benchmark》要点:
本文介绍了Nosql性能测试工具:memtIEr_benchmark,希望对您有用。如果有疑问,可以联系我们。
-t
选项指定数量),每个线程能够驱动若干个客户端(使用-c
选项指定数量).多线程使得你能够更好的利用客户端主机的硬件资源,即便使用单台主机,你也能够生成较高的流量负载.-x
选项指定迭代次数),它会自动生成测试报告,包含最好和最坏的运行结果,以及聚合平均值.GET
和SET
操作数量的比率(使用--ratio
选项),这样便能针对各种访问模式进行基准测试.GET
和SET
操作的访问模式.每种操作的访问模式都可以独立设置,可以是随机访问或连续访问.--expiry-range
选项).一、环境描述
1. 虚拟机配置
cpu:单核 2.4GHz
内存:DDR3 1333 2GB
硬盘:120GB
IP地址:192.168.21.136
操作系统:CentOS 6.6 x86_64 Minimal
2. 编译环境
GCC:4.4.7 20120313
YUM源:官方Base源
3. memtIEr_benchmark
版本:1.2.8
安装方式:GIT下载和编译安装(本文内容)
二、安装步骤
1. 安装编译环境和依赖包
在sHell中运行以下命令:
2. 编译安装libevent
CentOS 6.6预装的libevent版本较老,必须手动编译安装新版本的libevent.在sHell中运行以下命令,下载、编译和安装libevent-2.0.22:
3. 更新库文件配置
在sHell中运行以下命令,更新libevent库文件的配置:
4. 编译安装memtIEr_benchmark工具
在sHell中运行以下命令,下载、编译和安装memtIEr_benchmark工具,最后加入系统运行路径:
5. 验证安装
在sHell中运行以下命令,验证memtIEr_benchmark是否安装成功:
三、常用选项
@H_273_7@memtIEr_benchmark是一款用于Memcached/redis的Nosql流量生成器和性能基准测试工具,可以在SHell中通过如下方式调用:1. 连接和通用选项
-s
或--server=ADDR
服务器地址(默认值为localhost).
-p
或--port=PORT
服务器端口(默认值为6379).
-S
或--unix-socket=SOCKET
UNIX域套接字的名称(默认值为nonE).
-P
或--protocol=PROTOCol
使用的协议(默认值为redis).其他受支持的协议:memcache_text和memcache_binary.
-x
或--run-count=numbER
完整测试的迭代执行次数.
-D
或--deBUG
输出调试信息.
--clIEnt-stats=file
生成每个客户端的统计文件.
--out-file=file
输出结果文件的名称(默认值为stdout).
--show-config
运行基准测试之前,输出详细的配置信息.
--hIDe-histogram
不输出详细的延迟柱状图.
--Help
输出帮助信息.
--version
输出版本信息.
2. 测试选项
-c
或--clIEnts=numbER
每个线程驱动的客户端的数量(默认值为50).
-t
或--threads=numbER
基准测试使用的线程数量(默认值为4).
--test-time=SECS
基准测试的持续时间,以秒为单位.
--ratio=RATIO
SET和GET操作的比率(默认值为1:10).
--pipeline=numbER
管道请求的并发数量(默认值为1).
--reconnect-interval=NUM
执行重新连接之后的请求数量.
--multi-key-get=NUM
使用redis的MGET命令,这个命令最多可以一次获取NUM个键的值(默认值为0).
-a
或--authenticate=CREDENTIALS
--SELEct-db=DB
当测试一台redis服务器时,选择它的DB编号.
--disTinct-clIEnt-seed
每个客户端都使用一个不同的随机数种子.
--randomize
基于时间戳的随机数种子(默认为常数值).
3. 对象选项
-d
或--data-size=SIZE
对象数据的大小(默认值为32).
--data-offset=OFFSET
值的真实大小等于data-size + data-offset.基准测试将会使用redis的SETRANGE和GETRANGE命令(默认值为0).
-R
或--random-data
基准测试将会使用随机化的测试数据.
--data-size-range=RANGE
基准测试使用的测试数据的大小是随机的,数据大小在指定的范围之内(min-maX).
--data-size-List=List
根据权重列表设置测试数据的大小(size1:weight1,..siZen:weightN).
--data-size-pattern=R|S
当这个选项设置为R时,就需要和--data-size-range
选项一起使用,测试数据的大小将会在指定的范围之内随机取值.当这个选项设置为S时,定义的测试数据大小将会在测试键的范围之内均匀分布,请参考--key-maximum
选项.默认值为R.
--expiry-range=RANGE
测试键的过期时间是一个随机值,这个随机值在指定的范围之内.
4. 导入数据选项
--data-import=file
从文件中读取对象数据.
--data-verify
当基准测试结束时,执行数据验证过程.
--verify-only
只执行--data-verify
选项的数据验证过程,而不会执行其他测试.
--generate-keys
为导入的对象生成测试键.
--no-expiry
忽略导入数据中的过期信息.
5. 测试键选项
--key-prefix=PREFIX
测试键的前缀(默认值为“memtIEr-”).
--key-minimum=numbER
测试键ID的最小值(默认值为0).
--key-maximum=numbER
测试键ID的最大值(默认值为10000000).
--key-pattern=PATTERN
SET和GET操作的访问模式(默认值为R:r).可以取以下值:
G:高斯分布;
R:均匀随机;
S:连续访问;
P:并行访问(在连续访问模式中,每个客户端都具有测试键范围的一个子集).
--key-stddev
高斯分布使用的标准偏差(默认值为测试键范围的1/6).
--key-median
高斯分布使用的期望值(默认值为测试键范围的中心值).
6. 等待选项
--wait-ratio=RATIO
SET和WAIT操作的比率(默认不使用WAIT命令,默认值为1:0).
--num-slaves=RANGE
等待指定范围之内的随机数量的从机作出应答.
--wait-timeout=RANGE
等待指定范围之内的时间,单位为毫秒(正太分布的中心值在这个范围的中间).
四、伪随机数据、高斯访问模式和范围操作
1. 伪随机数据
@H_273_7@memtIEr_benchmark基准测试工具能够生成随机化的测试数据,而数据大小则取决于已知的大小范围.首先,将--data-size-pattern
选项设置为“S”(连续分配);然后,通过--data-size-range
选项指定随机化的测试数据的大小范围.以下示例将会产生基准测试的键空间,其中的测试数据的大小将会在4字节至204字节之间均匀取值:在上文的示例中,我们已经使用--random-data
选项来生成随机数据了;除此之外,我们还使用--key-minimum
和--key-maximum
选项来控制测试键ID的取值范围,总共产生200个测试键.第一个测试键,memtIEr-200,将会持有4字节的数据;下一个测试键,将会持有5字节的数据;以此类推,直到最后一个测试键,memtIEr-400,将会持有204字节的数据.
2. 高斯访问模式
@H_273_7@memtIEr_benchmark基准测试工具能够使用高斯分布(也叫做正态分布)来访问测试数据.在支持高斯访问模式之前,你可以将基准测试的访问模式设置为均匀随机分布或连续分布.但是,为了更好的模拟真实用例,你可以使用这个新的选项,确保memtIEr_benchmark的测试键访问模式符合常见的高斯分布的钟型曲线.当使用高斯分布时,你还可以控制和设置标准偏差和期望值,它们是高斯分布的关键参数.例如,你可以通过以下参数调用这个基准测试工具:上述调用方式会将大部分的读/写访问集中在第100个(memtIEr-300)测试键上.
3. 范围操作
@H_273_7@memtIEr-benchmark基准测试工具支持redis的SETRANGE
和GETRANGE
命令,可用于代替SET
和GET
命令.这个功能使得你在进行基准测试时,能够明显降低网络流量的消耗,同时你仍然可以使用较大的测试数据.例如,你可以将测试键的值的大小设置为1MB,但是只会读取和写入最后一个字节,你可以通过以下参数调用这个基准测试工具:《Nosql性能测试工具:memtIEr_benchmark》是否对您有启发,欢迎查看更多与《Nosql性能测试工具:memtIEr_benchmark》相关教程,学精学透。编程之家php学院为您提供精彩教程。
以上是大佬教程为你收集整理的NoSQL性能测试工具:memtier_benchmark全部内容,希望文章能够帮你解决NoSQL性能测试工具:memtier_benchmark所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。