Skip to content
Merged
Show file tree
Hide file tree
Changes from 19 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 18 additions & 16 deletions README-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,12 @@ IoT-Benchmark 是用来评估时序数据库、实时数据库在工业物联网
| Microsoft SQL Server | 2016 SP2 |
| VictoriaMetrics | v1.64.0 |
| SQLite | -- |
| OpenTSDB | -- |
| OpenTSDB | 2.4.1 |
| KairosDB | -- |
| TimescaleDB | -- |
| TimescaleDB | Cluster |
| TDengine | 2.2.0.2 |
| TDengine | 3.0.1 |
| PI Archive | 2016 |
| TDengine | 2.2.0.2、3.0.1 |
| CnosDB | -- |

# 3. 快速开始

Expand All @@ -58,14 +57,14 @@ IoT-Benchmark 是用来评估时序数据库、实时数据库在工业物联网

提示:
- CSV 的记录模式只能在 Linux 系统中使用,记录测试过程中的相关系统信息。
- 我们建议使用 MacOs 或 Linux 系统,本文以 MacOS 和 Linux 系统为例,如果使用 Windows 系统,请使用`conf`文件夹下的`benchmark.bat`脚本启动 benchmark。
- 我们建议使用 MacOS 或 Linux 系统,本文以 MacOS 和 Linux 系统为例,如果使用 Windows 系统,请使用安装包根目录下的 `benchmark.bat` 脚本启动 benchmark。

## 3.2. 获取方式

在确保以上条件均以满足后,从 git 克隆源代码:

```
git clone https://github.com/apache/iotdb.git
git clone https://github.com/thulab/iot-benchmark.git
```

默认的主分支是 master 分支,如果你想使用其他分支,请在克隆后进入项目根目录,并使用以下命令查看所有可用分支:
Expand All @@ -80,12 +79,14 @@ git branch -a
git checkout [分支名]
```

如果需要针对更旧版本的 IoTDB 进行测试,请先切换到对应的 `rel/iotdb_xxx` 分支,再在该分支上编译对应的 benchmark 安装包。

使用如下命令通过 Maven 完成 iot-benchmark 的构建:

```
mvn clean package -Dmaven.test.skip=true
```
该命令会编译 iot-benchmark 的 core 模块,和所有其他相关的数据库
该命令会编译 iot-benchmark 的 `core` 模块,以及根 `pom.xml` 中默认启用的所有模块

## 3.3. 快速开始

Expand All @@ -98,11 +99,11 @@ CPU:I7-11700
数据盘:2T HDD (WDC WD40EZAZ-00SF3B0)
```

在完成编译后,以 IoTDB v1.0 为例,**您需要首先在本机的 6667 端口启动相应版本的 IoTDB 服务**。(如果您对于使用 IoTDB 仍有疑问,请参照 [IoTDB_README.md](https://github.com/apache/iotdb/blob/master/README_ZH.md) 中的指引)。在成功启动 IoTDB 服务后,您可以进入到`iot-benchmark/iotdb-1.0/target/iot-benchmark-iotdb-1.0/iot-benchmark-iotdb-1.0`文件夹下,使用`./benchmark.sh`来启动对 IoTDB v1.0 的测试。我们推荐使用匹配的版本进行测试,以此达到最佳效果。
在完成编译后,以 IoTDB v2.0 为例,**您需要首先在本机的 6667 端口启动相应版本的 IoTDB 服务**。(如果您对于使用 IoTDB 仍有疑问,请参照目标 IoTDB 版本的官方文档。)在成功启动 IoTDB 服务后,您可以进入到 `iot-benchmark/iotdb-2.0/target/iot-benchmark-iotdb-2.0/iot-benchmark-iotdb-2.0` 文件夹下,使用 `./benchmark.sh` 启动测试。我们推荐使用匹配的版本进行测试,以此达到最佳效果。

```

cd iotdb-1.0/target/iot-benchmark-iotdb-1.0/iot-benchmark-iotdb-1.0
cd iotdb-2.0/target/iot-benchmark-iotdb-2.0/iot-benchmark-iotdb-2.0
./benchmark.sh
```

Expand All @@ -128,7 +129,7 @@ BENCHMARK_WORK_MODE=testWithDefaultPath
########### Database Connection Information ###########
DOUBLE_WRITE=false
DBConfig=
DB_SWITCH=IoTDB-100-SESSION_BY_TABLET
DB_SWITCH=IoTDB-200-SESSION_BY_TABLET
HOST=[127.0.0.1]
########### Data Mode ###########
GROUP_NUMBER=10
Expand Down Expand Up @@ -208,24 +209,25 @@ SET_OP_QUERY 0.00 0.00 0.00 0.00 0.00

以上的全部信息都会被记录到运行设备的```logs```文件夹中。

配置文件存放在`iot-benchmark/iotdb-1.0/target/iot-benchmark-iotdb-1.0/iot-benchmark-iotdb-1.0conf`下。当然,对于其他支持数据库您同样可以在相似的路径下找到其配置文件。编辑该文件来自定义测试的类型以及相关配置,**请注意,每次测试前您必须将配置文件中的 DB_SWITCH 参数更改为与待测数据库相匹配,其对应关系和可能取值如下所示:**
配置文件存放在 `iot-benchmark/iotdb-2.0/target/iot-benchmark-iotdb-2.0/iot-benchmark-iotdb-2.0/conf` 下。当然,对于其他支持数据库您同样可以在相似的路径下找到其配置文件。编辑该文件来自定义测试的类型以及相关配置,**请注意,每次测试前您必须将配置文件中的 DB_SWITCH 参数更改为与待测数据库相匹配,其对应关系和可能取值如下所示:**

| 数据库 | 版本 | 对应子项目 | DB_SWITCH |
| :------------------: |:--------:| :-----------------: |:------------------------------------------------------------------------------------------------------------:|
| IoTDB(1.0/1.1/1.3) | 1.x | iotdb-1.x | IoTDB-1x0-JDBC<br>IoTDB-1x0-SESSION_BY_TABLET<br>IoTDB-1x0-SESSION_BY_RECORD<br>IoTDB-1x0-SESSION_BY_RECORDS |
| IoTDB | 1.3 | iotdb-1.3 | IoTDB-130-JDBC<br>IoTDB-130-REST<br>IoTDB-130-SESSION_BY_TABLET<br>IoTDB-130-SESSION_BY_RECORD<br>IoTDB-130-SESSION_BY_RECORDS |
| IoTDB | 2.x | iotdb-2.0 | IoTDB-200-JDBC<br>IoTDB-200-REST<br>IoTDB-200-SESSION_BY_TABLET<br>IoTDB-200-SESSION_BY_RECORD<br>IoTDB-200-SESSION_BY_RECORDS |
| InfluxDB | 1.x | influxdb | InfluxDB |
| InfluxDB | 2.x | influxdb-2.0 | InfluxDB-2.x |
| CnosDB | -- | cnosdb | CnosDB |
| QuestDB | 6.0.7 | questdb | QuestDB |
| Microsoft SQL Server | 2016 SP2 | mssqlserver | MSSQLSERVER |
| VictoriaMetrics | 1.64.0 | victoriametrics | VictoriaMetrics |
| TimescaleDB | -- | timescaledb | TimescaleDB |
| TimescaleDB | Cluster | timescaledb-cluster | TimescaleDB-Cluster |
| SQLite | -- | sqlite | SQLite |
| OpenTSDB | -- | opentsdb | OpenTSDB |
| OpenTSDB | 2.4.1 | opentsdb | OpenTSDB |
| KairosDB | -- | kairosdb | KairosDB |
| TDengine | 2.2.0.2 | TDengine | TDengine |
| TDengine | 3.0.1 | TDengine | TDengine-3 |
| PI Archive | 2016 | PIArchive | PIArchive |
| TDengine | 2.2.0.2 | tdengine | TDengine |
| TDengine | 3.0.1 | tdengine-3.0 | TDengine-3 |

* 不同数据库使用说明详见 [被测数据库示例说明](./docs/DifferentTestDatabase.md)

Expand Down
33 changes: 17 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ Currently supports the following databases, versions and connection methods:
| KairosDB | -- |
| TimescaleDB | -- |
| TimescaleDB | Cluster |
| TDengine | 2.2.0.2 |
| TDengine | 3.0.1 |
| TDengine | 2.2.0.2、3.0.1 |
| PI Archive | 2016 |
| CnosDB | -- |

# 3. Quick Start

Expand All @@ -62,14 +62,14 @@ Tips:

- The CSV recording mode can only be used in Linux systems to record relevant system information during the test.

- We recommend using MacOs or Linux systems. This article takes MacOS and Linux systems as examples. If you use Windows systems, please use the `benchmark.bat` script in the `conf` folder to start the benchmark.
- We recommend using MacOS or Linux systems. This article takes MacOS and Linux systems as examples. If you use Windows systems, please use the `benchmark.bat` script in the package root directory to start the benchmark.

## 3.2. How to get it

After ensuring that the above conditions are met, clone the source code from git:

```
git clone https://github.com/apache/iotdb.git
git clone https://github.com/thulab/iot-benchmark.git
```

The default main branch is the master branch. If you want to use other branches, please enter the project root directory after cloning and use the following command to view all available branches:
Expand All @@ -84,12 +84,14 @@ After finding the branch name you want to work on, use the following command to
git checkout [branch name]
```

If you need to benchmark an older IoTDB version, switch to the corresponding `rel/iotdb_xxx` branch first, and then compile the package on that branch.

Use the following command to complete the construction of iot-benchmark through Maven:

```
mvn clean package -Dmaven.test.skip=true
```
This command will compile the core module of iot-benchmark and all other related databases.
This command will compile the `core` module and all modules enabled in the root `pom.xml`.

## 3.3. Quick Start

Expand All @@ -102,13 +104,11 @@ System disk: 512G SSD (INTEL SSDPEKNU512GZ)
Data disk: 2T HDD (WDC WD40EZAZ-00SF3B0)
```

After the compilation is completed, taking IoTDB v1.0 as an example, **you need to first start the corresponding version of IoTDB service on port 6667 of the local machine**. (If you still have questions about using IoTDB, please refer to the instructions in [IoTDB_README.md](https://github.com/apache/iotdb/blob/master/README_ZH.md)). After successfully starting the IoTDB service, you can go to the `iot-benchmark/iotdb-1.0/target/iot-benchmark-iotdb-1.0/iot-benchmark-iotdb-1.0` folder and use `./benchmark.sh` to start the test of IoTDB v1.0. We recommend using the matching version for testing to achieve the best results.

[Test configuration file](https://github.com/supersshhhh/iot-benchmark/blob/patch-1/Testconfigurations.md)
After the compilation is completed, taking IoTDB v2.0 as an example, **you need to first start the corresponding version of the IoTDB service on port 6667 of the local machine**. (If you still have questions about using IoTDB, please refer to the official documentation of the target IoTDB version.) After successfully starting the IoTDB service, go to the `iot-benchmark/iotdb-2.0/target/iot-benchmark-iotdb-2.0/iot-benchmark-iotdb-2.0` folder and use `./benchmark.sh` to start the test. We recommend using the matching version for testing to achieve the best results.

```

cd iotdb-1.0/target/iot-benchmark-iotdb-1.0/iot-benchmark-iotdb-1.0
cd iotdb-2.0/target/iot-benchmark-iotdb-2.0/iot-benchmark-iotdb-2.0
./benchmark.sh
```

Expand All @@ -134,7 +134,7 @@ BENCHMARK_WORK_MODE=testWithDefaultPath
########### Database Connection Information ###########
DOUBLE_WRITE=false
DBConfig=
DB_SWITCH=IoTDB-100-SESSION_BY_TABLET
DB_SWITCH=IoTDB-200-SESSION_BY_TABLET
HOST=[127.0.0.1]
########### Data Mode ###########
GROUP_NUMBER=10
Expand Down Expand Up @@ -214,24 +214,25 @@ The output contains the overall information of the test, including:

All the above information will be recorded in the ```logs``` folder of the running device.

The configuration files are stored in `iot-benchmark/iotdb-1.0/target/iot-benchmark-iotdb-1.0/iot-benchmark-iotdb-1.0conf`. Of course, you can also find the configuration files of other supported databases in similar paths. Edit the file to define the test type and related configuration. **Please note that before each test, you must change the DB_SWITCH parameter in the configuration file to match the database to be tested. The corresponding relationship and possible values ​​are as follows:**
The configuration files are stored in `iot-benchmark/iotdb-2.0/target/iot-benchmark-iotdb-2.0/iot-benchmark-iotdb-2.0/conf`. Of course, you can also find the configuration files of other supported databases in similar paths. Edit the file to define the test type and related configuration. **Please note that before each test, you must change the DB_SWITCH parameter in the configuration file to match the database to be tested. The corresponding relationship and possible values are as follows:**

| Database | Version | Corresponding sub-project | DB_SWITCH |
| :------------------: |:--------:| :-----------------------: |:------------------------------------------------------------------------------------------------------------:|
| IoTDB(1.0/1.1/1.3) | 1.x | iotdb-1.x | IoTDB-1x0-JDBC<br>IoTDB-1x0-SESSION_BY_TABLET<br>IoTDB-1x0-SESSION_BY_RECORD<br>IoTDB-1x0-SESSION_BY_RECORDS |
| IoTDB | 1.3 | iotdb-1.3 | IoTDB-130-JDBC<br>IoTDB-130-REST<br>IoTDB-130-SESSION_BY_TABLET<br>IoTDB-130-SESSION_BY_RECORD<br>IoTDB-130-SESSION_BY_RECORDS |
| IoTDB | 2.x | iotdb-2.0 | IoTDB-200-JDBC<br>IoTDB-200-REST<br>IoTDB-200-SESSION_BY_TABLET<br>IoTDB-200-SESSION_BY_RECORD<br>IoTDB-200-SESSION_BY_RECORDS |
| InfluxDB | 1.x | influxdb | InfluxDB |
| InfluxDB | 2.x | influxdb-2.0 | InfluxDB-2.x |
| CnosDB | -- | cnosdb | CnosDB |
| QuestDB | 6.0.7 | questdb | QuestDB |
| Microsoft SQL Server | 2016 SP2 | mssqlserver | MSSQLSERVER |
| VictoriaMetrics | 1.64.0 | victoriametrics | VictoriaMetrics |
| TimescaleDB | -- | timescaledb | TimescaleDB |
| TimescaleDB | Cluster | timescaledb-cluster | TimescaleDB-Cluster |
| SQLite | -- | sqlite | SQLite |
| OpenTSDB | -- | opentsdb | OpenTSDB |
| OpenTSDB | 2.4.1 | opentsdb | OpenTSDB |
| KairosDB | -- | kairosdb | KairosDB |
| TDengine | 2.2.0.2 | TDengine | TDengine |
| TDengine | 3.0.1 | TDengine | TDengine-3 |
| PI Archive | 2016 | PIArchive | PIArchive |
| TDengine | 2.2.0.2 | tdengine | TDengine |
| TDengine | 3.0.1 | tdengine-3.0 | TDengine-3 |

* For detailed instructions on using different databases, see [Tested Database Example Instructions](./docs/DifferentTestDatabase-EN.md)

Expand Down
Loading
Loading