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