|
| 1 | +# Performance test execution for ScalarDB Data Loader |
| 2 | + |
| 3 | +## Instructions to run the script |
| 4 | + |
| 5 | +Execute the e2e_test.sh script from the `performance-test` folder of the repository: |
| 6 | + |
| 7 | +``` |
| 8 | +./e2e_test.sh [options] |
| 9 | +``` |
| 10 | + |
| 11 | +## Available command-line arguments |
| 12 | + |
| 13 | +``` |
| 14 | +./e2e_test.sh [--memory=mem1,mem2,...] [--cpu=cpu1,cpu2,...] [--data-size=size] [--image-tag=tag] [--import-args=args] [--export-args=args] [--network=network-name] [--skip-data-gen] [--disable-import] [--disable-export] [--no-clean-data] [--database-dir=path] [--use-jar] [--jar-path=path] |
| 15 | +``` |
| 16 | + |
| 17 | +Options: |
| 18 | + |
| 19 | +- `--memory=mem1,mem2,...`: Comma-separated list of memory limits for Docker containers (e.g., 1g,2g,4g) |
| 20 | +- `--cpu=cpu1,cpu2,...`: Comma-separated list of CPU limits for Docker containers (e.g., 1,2,4) |
| 21 | +- `--data-size=size`: Size of data to generate (e.g., 1MB, 2GB) |
| 22 | +- `--num-rows=number`: Number of rows to generate (e.g., 1000, 10000) |
| 23 | + |
| 24 | +Note: Either `--data-size` or `--num-rows` must be provided, but not both. |
| 25 | + |
| 26 | +- `--image-tag=tag`: Docker image tag to use (default: 4.0.0-SNAPSHOT) |
| 27 | +- `--import-args=args`: Arguments for import command |
| 28 | +- `--export-args=args`: Arguments for export command |
| 29 | +- `--network=network-name`: Docker network name (default: my-network) |
| 30 | +- `--skip-data-gen`: Skip data generation step |
| 31 | +- `--disable-import`: Skip import test |
| 32 | +- `--disable-export`: Skip export test |
| 33 | +- `--no-clean-data`: Don't clean up generated files after test |
| 34 | +- `--database-dir=path`: Path to database directory |
| 35 | +- `--use-jar`: Use JAR file instead of Docker container |
| 36 | +- `--jar-path=path`: Path to JAR file (when using --use-jar) |
| 37 | + |
| 38 | +Examples: |
| 39 | + |
| 40 | +``` |
| 41 | +# Using data size |
| 42 | +./e2e_test.sh --memory=1g,2g,4g --cpu=1,2,4 --data-size=2MB --image-tag=4.0.0-SNAPSHOT |
| 43 | +``` |
| 44 | + |
| 45 | +``` |
| 46 | +# Using number of rows |
| 47 | +./e2e_test.sh --memory=1g,2g,4g --cpu=1,2,4 --num-rows=10000 --image-tag=4.0.0-SNAPSHOT |
| 48 | +``` |
| 49 | + |
| 50 | +Example with JAR: |
| 51 | + |
| 52 | +``` |
| 53 | +./e2e_test.sh --use-jar --jar-path=./scalardb-data-loader-cli.jar --import-args="--format csv --import-mode insert --mode transaction --transaction-size 10 --data-chunk-size 500 --max-threads 16" --export-args="--format csv --max-threads 8 --data-chunk-size 500" |
| 54 | +``` |
| 55 | + |
| 56 | +### Import-Only Examples |
| 57 | + |
| 58 | +To run only the import test (skipping export): |
| 59 | + |
| 60 | +``` |
| 61 | +# Using data size |
| 62 | +./e2e_test.sh --disable-export --memory=2g --cpu=2 --data-size=1MB --import-args="--format csv --import-mode insert --mode transaction --transaction-size 10 --max-threads 16" |
| 63 | +``` |
| 64 | + |
| 65 | +``` |
| 66 | +# Using number of rows |
| 67 | +./e2e_test.sh --disable-export --memory=2g --cpu=2 --num-rows=10000 --import-args="--format csv --import-mode insert --mode transaction --transaction-size 10 --max-threads 16" |
| 68 | +``` |
| 69 | + |
| 70 | +With JAR: |
| 71 | + |
| 72 | +``` |
| 73 | +./e2e_test.sh --disable-export --use-jar --jar-path=./scalardb-data-loader-cli.jar --import-args="--format csv --import-mode insert --mode transaction --transaction-size 10 --max-threads 16" |
| 74 | +``` |
| 75 | + |
| 76 | +### Export-Only Examples |
| 77 | + |
| 78 | +To run only the export test (skipping import): |
| 79 | + |
| 80 | +``` |
| 81 | +./e2e_test.sh --disable-import --memory=2g --cpu=2 --export-args="--format csv --max-threads 8 --data-chunk-size 500" |
| 82 | +``` |
| 83 | + |
| 84 | +With JAR: |
| 85 | + |
| 86 | +``` |
| 87 | +./e2e_test.sh --disable-import --use-jar --jar-path=./scalardb-data-loader-cli.jar --export-args="--format csv --max-threads 8 --data-chunk-size 500" |
| 88 | +``` |
0 commit comments