|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +# -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 4 | +# NOTE: Provide license key and PASSWORD here |
| 5 | +LICENSE_KEY="" |
| 6 | +ROOT_PASSWORD="" |
| 7 | +# -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 8 | + |
| 9 | +# Default data directory |
| 10 | +DEFAULT_DATA_DIRECTORY=~/data/bluesky |
| 11 | + |
| 12 | +# Allow the user to optionally provide the data directory as an argument |
| 13 | +DATA_DIRECTORY="${1:-$DEFAULT_DATA_DIRECTORY}" |
| 14 | + |
| 15 | +# Define success and error log files |
| 16 | +SUCCESS_LOG="${2:-success.log}" |
| 17 | +ERROR_LOG="${3:-error.log}" |
| 18 | + |
| 19 | +# Define prefix for output files |
| 20 | +OUTPUT_PREFIX="${4:-_m6i.8xlarge}" |
| 21 | + |
| 22 | +# Check if the directory exists |
| 23 | +if [[ ! -d "$DATA_DIRECTORY" ]]; then |
| 24 | + echo "Error: Data directory '$DATA_DIRECTORY' does not exist." |
| 25 | + exit 1 |
| 26 | +fi |
| 27 | + |
| 28 | +echo "Select the dataset size to benchmark:" |
| 29 | +echo "1) 1m (default)" |
| 30 | +echo "2) 10m" |
| 31 | +echo "3) 100m" |
| 32 | +echo "4) 1000m" |
| 33 | +echo "5) all" |
| 34 | +read -p "Enter the number corresponding to your choice: " choice |
| 35 | + |
| 36 | +# ./install.sh "${LICENSE_KEY}" "${ROOT_PASSWORD}" |
| 37 | + |
| 38 | +benchmark() { |
| 39 | + local size=$1 |
| 40 | + # Check DATA_DIRECTORY contains the required number of files to run the benchmark |
| 41 | + file_count=$(find "$DATA_DIRECTORY" -type f | wc -l) |
| 42 | + if (( file_count < size )); then |
| 43 | + echo "Error: Not enough files in '$DATA_DIRECTORY'. Required: $size, Found: $file_count." |
| 44 | + exit 1 |
| 45 | + fi |
| 46 | + ./create_and_load.sh "${ROOT_PASSWORD}" "bluesky_${size}m" bluesky "ddl.sql" "$DATA_DIRECTORY" "$size" "$SUCCESS_LOG" "$ERROR_LOG" |
| 47 | + ./total_size.sh "${ROOT_PASSWORD}" "bluesky_${size}m" bluesky | tee "${OUTPUT_PREFIX}_bluesky_${size}m.total_size" |
| 48 | + ./data_size.sh "${ROOT_PASSWORD}" "bluesky_${size}m" bluesky | tee "${OUTPUT_PREFIX}_bluesky_${size}m.data_size" |
| 49 | + ./index_size.sh "${ROOT_PASSWORD}" "bluesky_${size}m" bluesky | tee "${OUTPUT_PREFIX}_bluesky_${size}m.index_size" |
| 50 | + ./count.sh "${ROOT_PASSWORD}" "bluesky_${size}m" bluesky | tee "${OUTPUT_PREFIX}_bluesky_${size}m.count" |
| 51 | + ./query_results.sh "${ROOT_PASSWORD}" "bluesky_${size}m" | tee "${OUTPUT_PREFIX}_bluesky_${size}m.query_results" |
| 52 | + # ./physical_query_plans.sh "${ROOT_PASSWORD}" "bluesky_${size}m" | tee "${OUTPUT_PREFIX}_bluesky_${size}m.physical_query_plans" |
| 53 | + ./benchmark.sh "${ROOT_PASSWORD}" "bluesky_${size}m" "${OUTPUT_PREFIX}_bluesky_${size}m.results_runtime" "${OUTPUT_PREFIX}_bluesky_${size}m.results_memory_usage" |
| 54 | + ./drop_table.sh "${ROOT_PASSWORD}" "bluesky_${size}m" bluesky |
| 55 | +} |
| 56 | + |
| 57 | +case $choice in |
| 58 | + 2) |
| 59 | + benchmark 10 |
| 60 | + ;; |
| 61 | + 3) |
| 62 | + benchmark 100 |
| 63 | + ;; |
| 64 | + 4) |
| 65 | + benchmark 1000 |
| 66 | + ;; |
| 67 | + 5) |
| 68 | + benchmark 1 |
| 69 | + benchmark 10 |
| 70 | + benchmark 100 |
| 71 | + benchmark 1000 |
| 72 | + ;; |
| 73 | + *) |
| 74 | + benchmark 1 |
| 75 | + ;; |
| 76 | +esac |
0 commit comments