THIS SCRIPT SET REQUIRES AEROLAB V4.3.7+

Process in a nutshell:

  • setup your AWS account
  • adjust configure.sh
  • run the setup scripts in the order provided below
  • follow the steps printed by the last setup script to configure grafana for asbench
  • run gimme_url.sh to get the URLs for pretty graphs
  • run the run_asbench (adjust if you need to adjust it)
  • run stop_ and start_ scripts to your needs
  • destroy everything by running destroy scripts

Note on nvme usage:

  • edit template_nvme.conf to your needs
  • edit configure.sh and change instance type to one that uses nvme disks
    • note each instance type may have different nvme disks mapped, check manually by deployinga one-node cluster with aerolab and ls /dev
  • in configure.sh also uncomment and edit the PROVISION= line to list the disks that you want provisioned
    • note this must match disk names what's in template_nvme as partitions cause otherwise it won't work

Below explains what each file is. Execute shell scripts in the order in which they are listed below as well for a successful demo run.

AWS requirements - one time stup (I should really add some logic to aerolab to allow it to create and administer those...):

  • awscli installed
  • run: aws configure
  • -- if using sales aws account - all is ready, otherwise read on
  • us-west-2:
    • security group for servers and clients:
      • open ports from all sources: 22, 443, 5000-10000
      • save group, then edit group and add rule that allows all communications from itself (from sg-...) - all ports
    • security group for ams:
      • open ports from all sources: 22, 443, 3000
      • all ports from server sg-xxx group
    • open server sg, and add a rule:
      • all ports from ams sg-xxx group
    • take note of both security group IDs and 4 subnet IDs for the 4 AZs for that VPC (all SG and Subnets live under a single VPC)
      • so we can edit configure.sh later

ape.toml ready template for exporter (using username/password)

astools.conf ready template for cluster - using username/password

template.conf ready aerospike.conf template

template_nvme.conf this will be deployed instead of template.conf if configure.sh PROVISION variable is set to a list of disks

asbench.json grafana json file for the asbench dashboard

configure.sh *** ADJUST THIS TO YOUR NEEDS *** configuration - adjust this to your aws account needs if not using sales aws account

**** BELOW SCRIPTS ARE TO BE RAN TO EXECUTE ACTIONS; SETUP SCRIPTS MUST BE RAN IN THE ORDER GIVEN HERE ****

setup_server_ams.sh script which sets up asd and ams and exporter

  • note when done, run 'source configure.sh; aerolab client list' to get IP of ams, and visit in browser http://IP:3000

setup_clients.sh script which sets up the client machines

setup_pretty.sh script which sets up the grafana instance for asbench monitoring

gimme_url.sh script that prints all the grafana URLs

run_asbench.sh run asbench on all clients

stat_asbench.sh see if asbench is running on all clients

logs_asbench.sh tail logs of all clients asbench

kill_asbench.sh kill all asbench

stop_last_rack.sh stops aerospike in last rack

start_last_rack.sh starts aerospike in last rack

destroy_pretty.sh destroy the grafana stack for asbench logs

destroy_clients.sh destroy client machines

destroy_server_ams.sh destroy server and ams machines

Manually running stuff afterwards: $ source configure.sh $ aerolab cluster list $ aerolab client list ...