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: about 2 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 (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-25T17:06:56.000Z (over 3 years ago)
- Last Synced: 2025-03-11T02:51:16.784Z (over 1 year 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 name
az 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
```