https://github.com/epomatti/azure-storagequeue-java-benchmark
Azure Storage Queue benchmarks
https://github.com/epomatti/azure-storagequeue-java-benchmark
azure azure-storage-queue benchmark java
Last synced: 7 months ago
JSON representation
Azure Storage Queue benchmarks
- Host: GitHub
- URL: https://github.com/epomatti/azure-storagequeue-java-benchmark
- Owner: epomatti
- License: mit
- Created: 2022-10-25T11:45:52.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-25T17:06:56.000Z (almost 3 years ago)
- Last Synced: 2025-01-17T18:42:42.539Z (9 months ago)
- Topics: azure, azure-storage-queue, benchmark, java
- Language: Java
- Homepage:
- Size: 10.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Azure Storage Queue
Benchmarking for Azure Storage queue.
## 🖥️ Local Development
Create the storage queue:
```sh
location="brazilsouth"
group="rg-storagequeue-benchmark"
storage="stqueuebench999" # change to a unique nameaz group create -n $group -l $location
az storage account create \
--name $storage \
--resource-group $group \
--location $location \
--sku "Standard_GZRS" \
--kind "StorageV2"az storage queue create -n "benchmark-queue" --account-name $storage
az storage account show-connection-string --name $storage --resource-group $group --query connectionString --output tsv
```Create the `app.properties`:
```properties
# Storage Connection
app.storage.connectionstring=...
app.storage.queue_name=benchmark-queue# Controls
app.init_consumer=false
app.init_sender=true# Sender
app.concurrent_sender_clients=10
app.concurrent_processes_per_client=100
app.message_quantity_to_send_per_client=10000
app.message_size_in_bytes=1024
```Start the app:
```
mvn install
mvn exec:java
```## 🚀 Cloud Benchmark
Create a VM on Azure:
```sh
az vm create -n "vm-benchmark" -g "rg-storagequeue-benchmark" --location "brazilsouth" --image "UbuntuLTS" --custom-data cloud-init.sh --size "Standard_D8s_v4" --public-ip-sku "Standard"
```Add a Private Endpoint for optimal performance.
Connect to the VM:
```sh
ssh @
```Clone the repository and add Maven to the session:
```sh
source ./maven.sh
```Check if the cloud-init script ran correctly:
```sh
java --version
mvn --version
```Set memory parameters:
```sh
export MAVEN_OPTS="-Xms256m -Xmx16g"
```Run the application:
```sh
mvn install
mvn exec:java
```