RussellSpitzer commented on code in PR #2: URL: https://github.com/apache/polaris-tools/pull/2#discussion_r2023128949
########## benchmarks/README.md: ########## @@ -0,0 +1,242 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +# Polaris Benchmarks + +This repository contains benchmarks for the Polaris service using Gatling. + +## Available Benchmarks + +### Dataset Creation Benchmark + +The CreateTreeDataset benchmark creates a test dataset with a specific structure. It exists in two variants: + +- `org.apache.polaris.benchmarks.simulations.CreateTreeDatasetSequential`: Creates entities one at a time +- `org.apache.polaris.benchmarks.simulations.CreateTreeDatasetConcurrent`: Creates up to 50 entities simultaneously + +These are write-only workloads designed to populate the system for subsequent benchmarks. + +### Read/Update Benchmark + +The ReadUpdateTreeDataset benchmark tests read and update operations on an existing dataset. It exists in two variants: + +- `org.apache.polaris.benchmarks.simulations.ReadUpdateTreeDatasetSequential`: Performs read/update operations one at a time +- `org.apache.polaris.benchmarks.simulations.ReadUpdateTreeDatasetConcurrent`: Performs up to 20 read/update operations simultaneously + +These benchmarks can only be run after using CreateTreeDataset to populate the system. + +## Parameters + +All parameters are configured through the `application.conf` file located in `src/gatling/resources/`. The configuration uses the [Typesafe Config](https://github.com/lightbend/config) format. + +### Dataset Structure Parameters + +These parameters must be consistent across all benchmarks and are configured under `dataset.tree`: + +```hocon +dataset.tree { + num-catalogs = 1 # Number of catalogs to create + namespace-width = 2 # Width of the namespace tree + namespace-depth = 4 # Depth of the namespace tree + tables-per-namespace = 5 # Tables per namespace + views-per-namespace = 3 # Views per namespace + columns-per-table = 10 # Columns per table + columns-per-view = 10 # Columns per view + default-base-location = "file:///tmp/polaris" # Base location for datasets + namespace-properties = 10 # Number of properties to add to each namespace + table-properties = 10 # Number of properties to add to each table + view-properties = 10 # Number of properties to add to each view + max-tables = -1 # Maximum tables (-1 for unlimited) Review Comment: How do these two properites (max-tables/ max-views) interact with the specifications above? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
