ZS3Server Warp Benchmark Testing

This document outlines the performance benchmarking process for ZS3Server using Warparrow-up-right, a powerful S3 benchmarking tool. These tests were run against a ZS3 deployment launched via Blimp as per ZS3 Deployment Instructions.

Setup Instructions

1. Deploy ZS3Server

Ensure your ZS3Server is deployed and running. Follow the deployment guidearrow-up-right using Blimp.

2. Build Warp Binary

Clone the Warp repository:

git clone https://github.com/minio/warp.git
cd warp
go build

This will generate the warp binary in your local directory.

3. Run Benchmark Tests

All benchmark tests are executed against the <zs3server-ip:port> using the following credentials:

  • Access Key: rootroot

  • Secret Key: rootroot

  • Bucket: benchmark

  • Duration: 3 minutes

  • Host Example: http://127.0.0.1:3333

Test Commands

Each test measures performance under varying conditions of object size and concurrency.

PUT Tests

Description
Command

100MB, concurrency 16

./warp put --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 16 --obj.size 100MB

1KB, concurrency 180

./warp put --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 180 --obj.size 1KB

1KB, concurrency 16

./warp put --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 16 --obj.size 1KB

1KB, concurrency 400

./warp put --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 400 --obj.size 1KB


GET Tests

Description
Command

100MB, concurrency 16

./warp get --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 16 --obj.size 100MB --objects 500

1KB, concurrency 180

./warp get --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 180 --obj.size 1KB --objects 50000

4000MB, 1 object, concurrency 16

./warp get --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 16 --obj.size 4000MB --objects 1

1KB, concurrency 16

./warp get --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 16 --obj.size 1KB --objects 100000

1KB, concurrency 400

./warp get --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 400 --obj.size 1KB --objects 100000


MIXED Tests

Description
Command

100MB, concurrency 16

./warp mixed --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 16 --obj.size 100MB --objects 250

1KB, concurrency 16

./warp mixed --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 16 --obj.size 1KB --objects 50000


LIST Tests

Description
Command

100MB, concurrency 180

./warp list --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 180 --obj.size 1KB --objects 1000

1KB, concurrency 16

./warp list --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 16 --obj.size 1KB --objects 100000

1KB, concurrency 400

./warp list --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 400 --obj.size 1KB --objects 100000


DELETE Tests

Description
Command

1KB, concurrency 120

./warp delete --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 120 --obj.size 1KB --objects 48000

1KB, concurrency 400

./warp delete --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 400 --obj.size 1KB --objects 100000

1KB, concurrency 16

./warp delete --host <zs3server-ip:port> --access-key rootroot --secret-key rootroot --bucket benchmark --duration 3m --concurrent 16 --obj.size 1KB --objects 100000

After running each test, save the output (preferably in JSON or CSV) for future comparison and trends. You can also generate graphs for:

  • Throughput (ops/sec)

  • Latency (min, max, avg)

  • Error rates

Last updated