Drupal Workload - absalon-james/cloud-workloads GitHub Wiki

This workload uses Gatling to generate traffic to a Drupal installation

Software

Roles

Roles States Anti-States Description
drupal_mysql_master drupal.db_master drupal.antidb_master Hosts the master MySQL database. Required
drupal_mysql_slave drupal.db_slave drupal.antidb_slave Hosts the slave MySQL database. Optional
drupal_gatling drupal.gatling drupal.antigatling Runs the Gatling tool. Required
drupal_web drupal.web drupal.antiweb Runs Apache2, PHP, PHP-APC, and memcached. Requires at least one

Configuration

Property Default Description
duration 90 Specifies the length of time in seconds to fire off user scenarios.
users_start 500 The starting number of users per drupal_web instance.
users_step 200 The number of users to add per drupal_web instance after each successful iteration.

Example configuration:

standard_drupal:
  workload: drupal
  duration: 90
  users_start: 500
  users_step: 200
  instances:
    - roles:
        - drupal_mysql_master
    - roles:
        - drupal_mysql_slave
    - roles:
        - drupal_gatling
    - roles:
        - drupal_web
    - roles:
        - drupal_web
    - roles:
        - drupal_web
    - roles:
        - drupal_web

In the above example, Gatling will ramp 500 users over 90 seconds to each of the 4 drupal_web instances on the first iteration. If the iteration is successful, the next iteration will be 500 + 200 users to each of the 4 drupal_web instances.

Requirements

  • 1 drupal_mysql_master instance
  • 1 drupal_gatling instance
  • At least one drupal_web instance
  • A drupal_mysql_slave instance is optional
  • It is preferred that the drupal_web instances can communicate with the drupal_mysql_master instances over a separate network, but it is not necessary
⚠️ **GitHub.com Fallback** ⚠️