目录

ZooKeeper性能测试

概述

通过 zookeeper-benchmark 对 ZooKeeper 集群进行性能测试。

打包

使用开源工具进行 ZooKeeper 的性能测试,参考官方文档,通过 mvn -DZooKeeperVersion=<version> package 进行打包。但是为了使用方便,我把所有的依赖包都打成一个大的 jar 包了,所以在 pom.xml 文件加上下面的插件,然后再执行命令 mvn assembly:assembly 即可。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>2.3.1</version>
      <configuration>
        <archive>
          <manifest>
            <!--运行jar包时运行的主类,要求类全名-->
            <mainClass>edu.brown.cs.zkbenchmark.ZooKeeperBenchmark</mainClass>
            <!-- 是否指定项目classpath下的依赖 -->
            <addClasspath>true</addClasspath>
            <!-- 指定依赖的时候声明前缀 -->
            <classpathPrefix>./lib/</classpathPrefix>
            <!--依赖是否使用带有时间戳的唯一版本号,如:xxx-1.3.0-20121225.012733.jar-->
            <useUniqueVersions>false</useUniqueVersions>
          </manifest>
        </archive>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>2.5.5</version>
      <configuration>
        <archive>
          <manifest>
            <mainClass>edu.brown.cs.zkbenchmark.ZooKeeperBenchmark</mainClass>
          </manifest>
        </archive>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
      </configuration>
    </plugin>

镜像

打完包之后,制作一个简单的镜像

1
2
3
4
5
6
7
FROM openjdk:oraclelinux7

WORKDIR /zk-benchmark
COPY CentOS-7.repo /etc/yum.repos.d/CentOS-Base.repo
RUN yum install vim-minimal
COPY ./target/zkbenchmark-0.1-SNAPSHOT-jar-with-dependencies.jar .
COPY benchmark.conf .

执行

1
java -jar zkbenchmark-0.1-SNAPSHOT-jar-with-dependencies.jar --conf /path/to/benchmark.conf
警告
本文最后更新于 2017年2月1日,文中内容可能已过时,请谨慎参考。