YCSB-README翻译

【测试】自定义配置 RocksDB 进行 YCSB 测试 文章目录简介编译 RocksDB编译 YCSB修复报错自定义配置 RocksDB 进行 YCSB 测试参考资料 本文主要记录在利用 YCSB 使用配置文件测试 RocksDB 的过程中遇到的一些问题以及相应的解决办法 简介 YCSB 的全程是 Yahoo! Cloud Serving Benchmark,是雅虎开发的用来对云服务进行基础测试的工具,支持目前常见的 NoSQL 数据库产品,如 HBase、MongoDB、OrientDB、Redis 等等 RocksDB 是一个具有键/值接口的存储引擎,其中 阅读详情

概览
当前YCSB支持很多数据库包括:
HBase
Hypertable
Cassandra
Couchbase
Voldemort
MongoDB
OrientDB
Infinispan
Redis
GemFire
DynamoDB
Tarantool
Memcached
…and many others
很难决定那个系统适合你的应用,部分因为系统间的特性不同,部分因为没有简单的方法来比较两个系统间的性能。

YCSB项目的目标是,发展一个框架和通用数据集用来评估不同键值存储和云存储的性能。项目包括两部分:

YCSB客户端,一个扩展的负载生成器
核心负载,一系列负载场景用于生成器来执行。

尽管核心负载提供了提供性能的一个大致图景,客户端也是可扩展的,你可以定义新的不同的负载来检验系统没有被核心负载覆盖的方面。类似,客户端也可以扩展来支持测试不同的数据库。尽管我们包含了测试hbase,cassandra,infinispan,mongodb等的样例代码,写一个新的接口层来测试你最喜欢的数据库也是很直接的。

这个工具的通用功能是测试多个系统并比较他们。例如,你可以在同样配置下安装多个系统,并分别运行相同负载。那么你就可以画出每个系统的性能来观察什么时候一个系统超过另一个。

Next

  1. Getting Started
  2. Running a Workload
  3. Adding a Database

1.获取YCSB
git clone git://github.com/brianfrankcooper/YCSB.git
cd YCSB
mvn clean package
./bin/ycsb

2.运行负载
运行负载有6步操作:
设置要测试的数据库系统
选择合适的DB接口层
选择合适的负载
选择合适的运行时参数(客户端线程数量,target吞吐率)
加载数据
执行负载

这里描述的步骤假设,你运行一个单机的客户端服务器。这对于小型和中型的集群都足够了(10台机器左右)。对于大得多的集群,你可能会在不同服务器上运行不同client来生成足够的负载。类似,加载数据库在使用更多client机器时可能会更快。了解更多关于并行在多个client上运行的细节,看Running a Workload in Parallel.

第一步,设置测试的数据库系统
这可以在一台机器或是集群上完成,取决于你想要测试的配置。

你必须创建或设置tables/keyspaces/storage 桶来存储记录。具体细节根据不同数据库系统有所变化,依赖于你想要运行的负载。在YCSB客户端运行之前,tables必须被创建,因为client本身不会请求创建tables。这是因为对一些系统来说,有手工步骤来创建tables,对其他系统,table必须在书库集群开始之前被创建好。

必须被创建的table依赖于负载。对于核心负载,YCSB客户端会将设有一个table叫做usertable,有一个灵活的结构:列能在运行时添加。这个usertable能被映射到存储容器合适的任何结构。例如,在MYSQL中,是CREATE TABLE;在cassandra,定义一个keyspace等等。数据库接口层(第二步)将接受在usertable中读写记录的请求,并将他们转换成对你分配的实际存储的请求。这可能意味着你不得不给数据库接口层提供信息来帮助它理解底层存储的结构是什么。例如,在cassandra,你必须在keyspace之外定义列族的概念。这样,创建列族并给它一个名字就很必要(values)。然后,数据库访问层将需要了解引用values列族,或者因为values被作为属性传输,或因为它被硬编码进了数据库接口层。

第二步,选择合适的DB接口层
DB接口层是一个执行YCSB客户端生成的read,insert,update,delete,scan的java 类,转换成对自定义数据库API的调用。这个类是com.yahoo.ycsb包的一抽象DB类的子类。你必须在命令行中运行YCSB客户端时制定接口层的类的名字,然后client将动态加载你的接口类。任何在命令行中指定的属性,或在命令行中指定的属性文件,将被传给DB接口实例,从而被用来配置接口层(例如,传输你在测试的数据库的主机地址)。

YCSB客户端和一个简单的不起作用的接口层com.yahoo.ycsb.BasicDB放在一起。这层仅仅打印执行的操作到system.out。它用来保证客户端正确的执行,并用来debug负载。

看 Using the Database Libraries了解如何在运行YCSB时使用client的细节。关于如何实现一个DB接口层,看Adding a Database.

你可以使用ycsb命令直接在数据库上运行命令。这个client使用DB接口层来发送命令给数据库。你可以用这个client来保证DB接口层工作正常,数据库设置正确,DB层能连接到数据库等等。它也为各种数据库提供一个通用接口,也能被用来查看数据库中的数据。运行命令行client的方法:

$ ./bin/ycsb shell basic

help
Commands:
read key [field1 field2 …] - Read a record
scan key recordcount [field1 field2 …] - Scan starting at key
insert key name1=value1 [name2=value2 …] - Insert a new record
update key name1=value1 [name2=value2 …] - Update a record
delete key - Delete a record
table [tablename] - Get or [set] the name of the table
quit - Quit

第三步,选择合适的负载
负载定义了将在load阶段加载到数据库中的数据,和在transaction阶段被执行的操作。

通常来说,负载是以下的集合:

负载java类(com.yahoo.ycsb.Workload子类)
参数文件(以java属性格式)
因为数据集的属性在load阶段必须被了解(才能构建合适种类的记录并插入他们),以及在transaction阶段(才能让正确的记录id和field被引用),一个单独的属性集合在两个阶段被共享。这样,参数文件在两个阶段被使用。负载java类使用那些属性,或者添加记录(load阶段)或者执行transaction提交记录(transaction阶段)。选择执行那个阶段,基于当你运行ycsb命令时指定的一个参数。

当你在运行YCSB客户端是,在命令行中指定jajva类和参数文件。client将动态的加载你的负载类,从参数文件中提取属性(和任何其他命令行中指定的属性),然后执行负载。这在load和transaction阶段发生,同样的属性和负载逻辑应用在两个阶段。例如,如果敷在阶段创建了有10个字段的记录,那么transaction阶段必须知道有10个字段它可以访问和修改。

核心负载是与YCSB放在一起的标准负载包,能被直接使用。尤其是,核心负载定义了简单的read、insert、update、scan操作的混合。每个操作的相对频率在参数文件中定义,就像负载的其他参数。这样,通过改变参数文件,各种不同的离散负载可以被执行。想了解更多核心负载的细节,查看 Core Workloads.

如果核心负载没有满足你的需求,你可以定义自己的负载通过集成com.yahoo.ycsb.Workload类。细节在Implementing New Workloads.

第四步:选择合适的运行时参数
尽管负载类和参数文件定义了一个特定的负载,还有其他一些设置你可以在运行测试时指定。这些设置在你运行YCSB客户端时指定,包括:

-threads :
客户端线程的数量,默认的,YCSB使用一个工作线程,但是额外的线程可以被指定。这通常被用来增加数据库的load数量。
-target :
每秒的预期操作数。默认,YCSB将执行尽可能多的操作。例如,如果每个操作平均花费100毫秒,client将每个工作线程每秒执行10个操作。然而,你可以对每秒执行的操作数量进行限流。例如,为了生成延迟-吞吐率曲线,你可以尝试不同的预期吞吐率,并测量每个的实际延迟。
-s :
状态,对一个长期运行的负载,让client报告状态是有意义的,可以保证它没有崩溃并且给你一些测试进程的反馈。通过在命令行制定 -s,client将每秒向stderr报告状态。

第五步,加载数据
负载有两个执行阶段:加载(定义了插入的数据),事务阶段(定义了在数据集上执行的操作)。为了加载数据,你要运行YCSB client并告诉他执行load阶段。

例如,考虑测试负载A(更多细节查看Core Workloads),为了加载标准数据集:

$ ./bin/ycsb load basic -P workloads/workloada
几点标注:

The “-P” parameter is used to load property files. In this case, we used it to load the workloada parameter file.
To load the HBase dataset:
load参数告诉client执行负载的load阶段。
basic参数桃酥client使用不起作用的basicDB接口层。你也能在你的参数文件中使用db属性指定(例如"db=com.yahoo.ycsb.BasicDB")

$ ./bin/ycsb load hbase -P workloads/workloada -p columnfamily=family
几点标注:

load参数告诉client执行负载加载阶段。
hbase参数告诉client使用HBase接口层。
-P参数被用来加载属性文件。在这里,我们使用它来加载workloada参数文件。
-p参数用来设置参数。在这个hbase例子中,我们用它来设置数据库列。你应该在运行这个命令有一个带有列族的数据库usertable。那么所有数据将被加载到带有列族的数据库usertable中。
保证你已经启动了hadoop和hbase在运行这条命令前。
如果你用basicdb,你将看到数据库的插入statement。如果你使用一个真实的数据库接口层,记录将被插入到数据库中。

标准负载参数文件创建非常小的数据库;例如,workloada创建1000条记录。这在debug你的setup时非常有用。然而,在实际测试中你可能想要生成一个更大的数据库。例如,想象你想要load100 million记录,那么,你要重写workloada文件中的recordcount属性。这可以以下面两种方式之一完成。

制定一个包含新recordcount值的新属性文件。如果这个文件在命令行中在workloada后面指定,它将覆盖workloada中的属性。例如,创建一个叫做large.dat的包含如下一行的文件:

recordcount=100000000
然后,运行client如下:

$ ./bin/ycsb load basic -P workloads/workloada -P large.dat

client将load两个属性文件,但会使用最后一个文件指定的recordcount的值。

在命令行指定recordcount属性的新值。任何命令行中指定的属性都会覆盖属性文件中的。例如:

$ ./bin/ycsb load basic -P workloads/workloada -p recordcount=100000000
通常,将重要的属性保存在新的参数文件是合理的,而不是在命令行中指定他们。这使你的测试结果可重复;而不是重新创建之前用过的命令行。注意,YCSB将在开始执行时打印命令行,因此如果你把client的输出保存在data文件中,你可以从文件中恢复命令行。

因为一个大的数据库负载会花很长时间,你可能想要:1.要求client输出状态2.将输出导向到datafile。这样,你可以如下执行load:

$ ./bin/ycsb load basic -P workloads/workloada -P large.dat -s > load.dat
-s参数会要求client在stderr输出状态,这样,命令的输出将是

$ ./bin/ycsb load basic -P workloads/workloada -P large.dat -s > load.dat
Loading workload… (might take a few minutes in some cases for large data sets)
Starting test.
0 sec: 0 operations
10 sec: 61731 operations; 6170.6317473010795 operations/sec
20 sec: 129054 operations; 6450.76477056883 operations/sec
…
这个状态输出将帮助你观察load阶段以什么速度在执行(你就可以估计load完成的时间)并且验证load确实在进行。当load完成,client会报告load性能的参数统计。这些统计量和transaction阶段的一样,看下面了解参数的信息。

第六步:执行负载
一旦数据被加载,你可以执行负载。只要告诉client执行负载的transaction阶段。为了执行负载,你可以使用以下命令。

$ ./bin/ycsb run basic -P workloads/workloada -P large.dat -s > transactions.dat
在这个调用中的主要区别就是,我们使用run参数告诉client,执行transaction阶段而不是load阶段。如果你使用basicDB,并且检查结果的transactions.dat,就会看到read和update请求的组合,和关于执行的参数。

通常,你将使用-threads和-target参数来控制提供负载的数量。例如,我们可能想要10个线程尝试每秒一共100个操作(每个线程每秒10ops)。只要每个操作的平均延迟不高于100ms。通常,你需要足够的线程以至于没有线程需要超负荷发挥,否则的话你实际的吞吐率将低于预期吞吐率。如下:

$ ./bin/ycsb run basic -P workloads/workloada -P large.dat -s -threads 10 -target 100 > transactions.dat
注意在这个例子中,我们用命令行参数-threads 10,-target 100来指定。同样,两个值也都可以在参数文件中使用threadcount和target属性来指定,例如:

threadcount=10
target=100
在运行最后,client会在stdout报告性能参数。在上面的例子中,这些参数被写到transactions.dat文件。默认包括每个操作类型(read,update)average,min,max,95th和99th延迟和每个操作延迟的柱状图。返回的代码是由数据库接口层定义,并且允许你观察在负载其间是否有错误发生。对上面的例子,我们可能得到如下输出:

[OVERALL],RunTime(ms), 10110
[OVERALL],Throughput(ops/sec), 98.91196834817013
[UPDATE], Operations, 491
[UPDATE], AverageLatency(ms), 0.054989816700611
[UPDATE], MinLatency(ms), 0
[UPDATE], MaxLatency(ms), 1
[UPDATE], 95thPercentileLatency(ms), 1
[UPDATE], 99thPercentileLatency(ms), 1
[UPDATE], Return=0, 491
[UPDATE], 0, 464
[UPDATE], 1, 27
[UPDATE], 2, 0
[UPDATE], 3, 0
[UPDATE], 4, 0
…
This output indicates:

The total execution time was 10.11 seconds
The average throughput was 98.9 operations/sec (across all threads)
There were 491 update operations, with associated average, min, max, 95th and 99th percentile latencies
All 491 update operations had a return code of zero (success in this case)
464 operations completed in less than 1 ms, while 27 completed between 1 and 2 ms.
Similar statistics are available for the read operations.

延迟的柱状图通常很有用,有时时间序列更有用。为了得到时间序列,指定"measurementtype=timeseries属性在命令行或参数文件。默认,client会每1000ms间隔报告平均延迟。你可以指定不同粒度来报告使用"timeseries.granularity"属性,例如:

$ ./bin/ycsb run basic -P workloads/workloada -P large.dat -s -threads 10 -target 100 -p
measurementtype=timeseries -p timeseries.granularity=2000 > transactions.dat
will report a timeseries, with readings averaged every 2,000 milliseconds (e.g. 2 seconds). The result will be:

[OVERALL],RunTime(ms), 10077
[OVERALL],Throughput(ops/sec), 9923.58836955443
[UPDATE], Operations, 50396
[UPDATE], AverageLatency(ms), 0.04339630129375347
[UPDATE], MinLatency(ms), 0
[UPDATE], MaxLatency(ms), 338
[UPDATE], Return=0, 50396
[UPDATE], 0, 0.10264765784114054
[UPDATE], 2000, 0.026989343690867442
[UPDATE], 4000, 0.0352882703777336
[UPDATE], 6000, 0.004238958990536277
[UPDATE], 8000, 0.052813085033008175
[UPDATE], 10000, 0.0
[READ], Operations, 49604
[READ], AverageLatency(ms), 0.038242883638416256
[READ], MinLatency(ms), 0
[READ], MaxLatency(ms), 230
[READ], Return=0, 49604
[READ], 0, 0.08997245741099663
[READ], 2000, 0.02207505518763797
[READ], 4000, 0.03188493260913297
[READ], 6000, 0.004869141813755326
[READ], 8000, 0.04355329949238579
[READ], 10000, 0.005405405405405406
这个输出显示,update和read操作的不同时间序列,报告间隔2000ms。一个时间点的报告数据是之前2000ms的平均值。(在这个例子中,我们使用100K个操作和每秒10K的target得到一个有趣的结果)关于延迟测量的一个标注:client测量在数据库上执行特定操作的结束延迟。意味着,client在DB接口层调用对应方法前开启定时器,在方法返回时结束定时器。这样,延迟包括:在接口层内部执行,到数据库服务器的网络延迟,数据库施行时间三部分。不包括对target吞吐率的限流延迟。即,如果你指定target每秒10op(一个单独线程),那么client将每100ms只执行一个op。如果op花费了12ms,那么client会在尝试下次op之前等待88ms。然而,报告的延迟不会包括这88ms,延迟只有12ms,而不是100.

3.添加数据库

实现一个数据库接口层 概览
数据库接口层向YCSBclient隐藏你测试的数据库的具体细节。这使得client可以不用理解你数据库的API就能生成像读取记录,更新记录这样的op。这样,就很容易测试新的数据库系统。一旦你创建了数据库接口层,测试框架的其他部分不用改变就能运行。

数据库接口层是一个简单的抽象类,它提供read,insert,update,delete,scan操作。实现你数据库的接口层意味着填满这些方法的实现。一旦你编译好了自己的接口层,你可以在命令行指定实现类的名字告诉YCSBclient。YCSBclient将在开始时动态加载你的实现。这样,你不需要重新编译YCSBclient来添加或改变数据库接口层。

一步一步创建一个新接口层
第一步,给你数据库创建一个模块
最好的开始方式是,熟悉一下其他数据库接口层模块诸如couchbase,mongodb,cassandra2。数据库接口模块是在YCSB项目顶层的目录,通常以他们接通的数据库的名字命名。每个模块都是一个自恰的java项目。

开始为你的数据库创建一个顶层目录。包括一个pom.xml来指定你的接口包编译需要的任何依赖。README.md来描述你的接口以及如何使用,最后是一个包含你的java类的通用maven项目结构

第二步,扩展com.yahoo.ycsb.DB.
所有数据库接口层实现的父类都是com.yahoo.ycsb.DB。这是一个抽象类,因此你需要创建一个新类来继承它。你的类必须有一个public的无参构造器,因为在工厂里实例会通过无参构造器来创建。

YCSB客户端框架将在每个工作者线程创建一个DB类的实例,但可能有多个工作者线程生成负载,因此可能有多个你的DB类实例被创建。

第三步,如果必要实现init()函数
你可以通过实现下面的方法来执行DB对象的初始化。

public void init() throws DBException

init()方法应该被用来设置到数据库的链接和做任何初始化操作。尤其是,你可以使用在运行时传给YCSB客户端的属性来配置数据库接口层。事实上,YCSB客户端将把CLIENT启动时参数文件中指定的所有属性都传给DB接口层。这样,你可以创建配置DB接口层的新的属性,在参数文件或命令行设置他们,然后在你的DB接口层中恢复他们。

这些属性将在构造函数之后传给DB实例,因此在init()而不是构造器中恢复他们是很重要。你可以用下面的函数恢复他们。

public Properties getProperties()
该方法已经实现在DB基类中。

第四步,实现数据库查询和更新方法
你需要实现的方法有:

//Read a single record
public int read(String table, String key, Set fields, HashMap<String,String> result);

//Perform a range scan
public int scan(String table, String startkey, int recordcount, Set fields, Vector<HashMap<String,String>> result);

//Update a single record
public int update(String table, String key, HashMap<String,String> values);

//Insert a single record
public int insert(String table, String key, HashMap<String,String> values);

//Delete a single record
public int delete(String table, String key);
在每个例子中,方法接受一个table名和记录的key。(在scan的例子中,record key是最开始扫描的key)对于度方法(read,scan),方法额外需要一些属性来读取,并提供一个结构体存放返回的结构。对于写方法(insert,update),方法用hashmap映射字段名到字段值。

数据库应该在运行测试之前就创建合适的表。因此你可以在上面的方法实现中假设,对应的表已经存在,并且直接写从table参数对应的表中读取和写入的方法。

第五步,编译你的数据库接口层

你的代码可以和YCSB客户端和框架分开编译。尤其是,在修改并重新编译你的DB类时,不用顾忌YCSB客户端。

第六步,测试数据库接口层
简单的测试方法是使用YCSB包含的命令行客户端。这个客户端创建一个DB实例,并允许你不用开启一个负载就直接和数据库交互。例如,使用命令行和MONGODB交互:

% java com.yahoo.ycsb.CommandLine -db com.yahoo.ycsb.db.MongoDbClient -p mongodb.url=mongodb://localhost:27017 -p mongodb.database=ycsb
YCSB Command Line client
Type “help” for command line help
Start with “-help” for usage info
Connected.

insert brianfrankcooper first=brian last=cooper
Return code: 1
191 ms
read brianfrankcooper
Return code: 0
last=cooper
_id=brianfrankcooper
first=brian
2 ms
quit

第七步,与YCSB客户端一起使用
确保你的类的实现是在CLASSPATH中可用的,以及任何你的视线中使用的libraries/jar文件。现在,当你运行YCSB客户端时,在命令行指定-db参数并提供你的DB类的完整名字,例如,

% java -cp build/ycsb.jar:yourjarpath com.yahoo.ycsb.Client -t -db com.foo.YourDBClass -P workloads/workloada -P large.dat -s > transactions.dat
你也可以在参数文件中使用DB属性来指定DB接口类
db=com.foo.YourDBClass

YCSB基础知识及HBase性能测试 YCSB是雅虎开源的NoSQL测试工具,本篇以对HBase的测试为例介绍其运行流程。一、准备工作下载安装: YCSB提供编译后的安装文件,只要下载安装包解压就好。 踩过的坑: (1) 目前最新的版本为0.11.0。但是我在使用的过程中使用官网推荐的两种方法均不能正常使用: 直接下载安装包,解压过程中有文件损坏,文件不完整 下载源码包用mvn clean package自编译时,进行到83%之后便 阅读详情

相关推荐

YCSB工具解析:数据库性能基准测试工具

YCSB工具旨在为开发人员和研究人员提供一个标准化的基准测试环境,用于比较不同数据库系统在相同负载下的性能。负载生成器的主要作用是生成一系列的操作请求,包括读取(GET)、更新(UPDATE)、插入(INSERT)和删除(DELETE)等。YCSB工具是一个强大的数据库性能基准测试工具,通过模拟真实的应用场景和生成各种负载,可以对不同数据库系统在相同负载下的性能进行评估。YCSB工具是一个强大的数据库性能基准测试工具,通过模拟真实的应用场景和生成各种负载,可以对不同数据库系统在相同负载下的性能进行评估。

. 1187

ycsb使用

1.是什么 YCSB(Yahoo! Cloud Serving Benchmark),是雅虎开源的一款通用的性能测试框架。 2.可以做什么 可以测试数据库,或者支持数据库操作的产品性能。 内嵌了一些数据库产品和测试,并支持自定义数据库的测试,测试结果是吞吐量和延迟,可以了解数据库性能。 3.ycsb执行的原理 ycsb的目录: bin目录: 目录下有个可执行的ycsb文件,是个python脚本,是用户操作的命令行接口。ycsb主逻辑是:解析命令行、设置java环境,加载java-libs,封装成可以执行的j

willinux的专栏 3458

yahoo的ycsb测试工具论文

本文档是yahoo的ycsb测试工具的论文文档,文档中多个数据库的对比测试分析。

YCSB压测MongoDB

一.前言 现在有个项目,五年时间会产生一亿条数据,所以领导想知道使用mongodb数据库,一亿条数据量中查询一条数据的响应时间。

shuijiaxiaowei的博客 1931

BK7238(XH-WB3S)固件烧录实战:从AT固件选择到稳定下载全解析

本文详细解析了BK7238(XH-WB3S)模组固件烧录的全过程,从AT固件版本选择到稳定下载的实战技巧。重点介绍了烧录前的准备工作、硬件连接的正确姿势、烧录软件的实战技巧以及疑难问题排查指南,帮助开发者高效完成BK7238模组的固件烧录。

weixin_29159441的博客 253

免疫治疗新思路:用COMPASS算法挖掘单细胞数据中的代谢靶点(含差异分析技巧)

本文介绍了如何利用COMPASS算法从单细胞转录组数据中系统推断免疫细胞的代谢活性,为肿瘤免疫治疗提供新的靶点发现思路。文章详细阐述了COMPASS结合流平衡分析的核心原理,并提供了从差异分析到可成药性评估的完整转化路径,旨在帮助研究者精准定位代谢弱点,开发新型免疫代谢疗法。

weixin_29275257的博客 367

YCSB性能测试工具使用

在网上查In-Memory NoSQL性能测试的资料时,偶然间发现了这个性能测试工具YCSB,全称为“Yahoo! Cloud Serving Benchmark”。它内置了对常见NoSQL数据库和数据网格产品的支持,如Cassandra、MongoDB、HBase、Redis、Infinispan等等很多的主流产品,而且不仅安装使用简单,还能自由扩展测试数据类型和支持的数据库产品。1编译安...

weixin_30535843的博客 1205

SBP依赖计算中的蝴蝶效应:一个Prefab修改如何触发全量重建?

本文深入探讨了Unity中SBP(Scriptable Build Pipeline)依赖计算的蝴蝶效应,解析了Prefab修改如何触发全量重建的机制。通过分析Asset与Object的层级关系、依赖计算的三种维度及CacheEntry系统,揭示了全量重建的根本原因,并提供了依赖可视化工具开发、优化策略与最佳实践,帮助开发者提升构建效率。

weixin_29015051的博客 445

使用 YCSB 和 PE 进行 HBase 性能压力测试

HBase主要性能压力测试有两个,一个是 HBase 自带的 PE,另一个是 YCSB,先简单说一个两者的区别。PE 是 HBase 自带的工具,开箱即用,使用起来非常简单,但是 PE 只能按单个线程统计压测结果,不能汇总整体压测数据,更重要的是,PE 没有 YCSB 的 预设模板(Workload) 功能,测试场景单一,相较而言,YCSB 要强大的多,它的 Workload 功能非常实用,可以模拟更贴近实际使用场景的压力状况。

Laurence的技术博客 3204

SAP接口错误查询日志

随着数字经济的迅速发展,企业数字化转型不在只追求“业财一体化”,而是在业务端也想要进行更为精细化的管理,所以很多企业在SAP ERP的基础上,集成更多垂直领域更精细的外围系统,比如销售CRM系统,采购SRM系统,生产MES系统等等,琳琅满目的产品,那对SAP实施来说,系统集成过程中,接口的一些报错查询能力必不可少,今天我们就介绍一下,SAP和CRM系统集成中接口常见的报错。

weixin_43657667的博客 2049

如何设计一个低代码平台

近些年来,低代码发展火热,各种低代码平台如雨后春笋纷纷崛起,这些平台各定位不同,优劣不同,用户的选择空间很大。那么,如果用户想从零开始设计一个低代码平台,该如何做呢?

Jarod_Chou的博客 8260

从生肉到字幕只要一杯咖啡的时间:日语字幕生成工具 N46Whisper 上手指南

晚上十点,一集 24 分钟的日综生肉刚下载完成。要让它变成带字幕的视频,传统流程是听译、断句、打轴、校对四连,熟练工也得耗上四五个小时。N46Whisper 是一款免费的日语字幕生成工具,目标是把这段等待压缩到十几分钟。 这篇文章不绕弯子:它靠什么识别语音、怎么跑通第一条字幕、识别不准时该拧哪个开关,一次讲清楚。核心关键词就三个——**日语字幕生成工具、日语视频自动生成字幕、双语字幕在线工具**

gitblog_01109的博客 779

立创开源4G+GPS定位系统:基于微信小程序的低成本低功耗追踪方案

本文介绍了一个基于立创开源平台的超小型4G+GPS定位系统方案。该方案采用28mm*28mm主板,集成4G Cat.1通信与GPS定位,通过微信小程序“点灯专家”实现远程追踪管理,具备低成本、低功耗、易于部署的特点,适用于电动车、宠物、资产追踪等多种场景。

weixin_28895791的博客 395

HBase性能测试

ycsb 测试工具是使用

anguoan的博客 826

不同IP网段的PLC进行S7通信(PUT_GET)的具体步骤

不同IP网段的PLC进行S7通信(PUT_GET)的具体步骤 一般情况下,我们使用西门子的S7通信时都是将网络中的PLC的IP设置在同一网段,那么如果涉及到旧项目改造时,不方便修改IP地址,只能进行2个网段通信时,可以参考以下步骤: 准备条件: 2个路由器 CPU 1212C 主动连接 CPU 314C-2PN/DP 被动连接 网络搭建如下图所示: S7-1212C一侧 建立S7主动连接 ,IP地址:192.168.5.40,编写get/put 通信程序 S7-300 IP地址:192.168.0

Robot_PLC_HMI_Automation 2万+

Oracle数据库表空间使用情况查询

在Oracle数据库中,表空间(Tablespace)是用于存储表、索引和其他数据库对象的逻辑存储单元。了解表空间的使用情况对于数据库管理员和开发人员来说是非常重要的,因为它可以帮助他们监控数据库的空间使用情况并进行容量规划。本文将介绍如何查询Oracle数据库中的表空间使用情况。通过执行以上SQL查询语句,你可以获得Oracle数据库中表空间的使用情况、文件大小和表空间大小等信息。这些信息可以帮助你了解数据库的存储情况,并进行适当的优化和容量规划。查看表空间的数据文件和表空间大小。查看表空间的使用情况。

CsmbPascal的博客 859

使用 go-ycsb 对 etcd 进行基准 (benchmark) 性能测试

本文主要介绍使用 go-ycsb 基于 etcd 官方提供的性能场景场景 -> [Benchmarking etcd v3](https://etcd.io/docs/v3.5/benchmarks/etcd-3-demo-benchmarks/),做一下基准性能测试。

ShanSan 1755

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

HBase使用YCSB进行性能测试

Alpine docker中的HBase使用YCSB进行压力测试

weixin_44171618的博客 1025

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

mongo+ycsb性能测试及线程数分析

mongodb下载官网mongo下载完对应tar包后,通过tar -xvf命令解压至/usr/local下启动mongoycsb0.17下载地址#官方文档 Now you are ready to run!解压后ycsb后不同的工作负载模式不同对应增删改查的操作所占百分比不同ycsb的workloads目录下保存了6种不同的workload类型,代表了不同的压测负载类型,详细的介绍列在下面:workloada:混合了50%的读和50%的写;...

qq_36967200的博客 1641

使用ycsb对mongodb做性能测试

我的专栏地址:我的segmentfault,欢迎浏览 一、ycsb压测工具 1.1ycsb workload ycsb的workloads目录下保存了6种不同的workload类型,代表了不同的压测负载类型,详细的介绍列在下面:workloada:混合了50%的读和50%的写;workloadb:Read mostly workloa...

weixin_33727510的博客 631

YCSB-HBase介绍与使用

一.YCSB介绍 英文全称:Yahoo! Cloud Serving Benchmark (YCSB) 。是Yahoo公司的一个用来对云服务进行基础测试的工具。目标是促进新一代云数据服务系统的性能比较。为四个广泛使用的系统:Cassandra,、HBase、PNUTS和一个简单的片式MySQL执行,订了套核心基准测试和结果报告。 YCSB的特点:可扩展的,除了很容易对新系统进行基准测试,支

SaberWang_Wxb 3330

ycsb测试mysql_YCSB测试

查看workloads中文件我们打开workloada查看信息以下是workloada、workloadb、workloadc、workloadd、workloade、workloadf的相关文件信息workloada读写均衡型,50%读,50%写workloadb读多写少型,95%读,5%更新。workloadc只读,100%读。workloadd读最近写入记录型,95%读,5%插入。workl...

weixin_36116139的博客 561

Yahoo Cloud Serving Benchmark (YCSB) 项目推荐

Yahoo Cloud Serving Benchmark (YCSB) 是一个用于评估云端数据库性能的开源基准测试工具。该项目由Yahoo开发,旨在帮助开发者评估不同数据库系统的性能,包括读写操作、延迟和吞吐量等关键指标。YCSB 主要使用 Java 编程语言开发,这使得它具有良好的跨平台兼容性和广泛的社区支持。 ## 项目核心功能 YCSB 的核心功能包括: 1. **数据库性能测试**...

gitblog_00100的博客 513

YCSB初探:测试redis

为什么80%的码农都做不了架构师?>>> ...

weixin_33937913的博客 394

使用YCSB测试Hbase与Mysql数据库性能

YCSB测试Hbase和MySQL性能 一.YCSB介绍 YCSB(Yahoo! Cloud Serving Benchmark)是雅虎开源的用于测试新式数据库(主要为 NoSQL)性能的框架,使用 Java 实现,可以测试 HBase、Cassandra、Infinispan、MongoDB 、JDBC等等。 YCSB 包括两个部分: YCSB 客户端,一个可以扩展的 workload 生成器 Core workloads,预先配置好的 workloads 二.YCSB使用 1.下载ycsb YCSB

neymar1204的博客 1394

YCSB——使用YCSB测试分片mysql

过程 源码 控制台显示 结果

繁星_ 2512
上一篇: 论文阅读:efficient and available in-memory KV-store with hybrid erasurecod and repli
下一篇: CCF期刊阅读18.1--城市计算和智能
bigbugss
博客等级 码龄12年 6粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值