User load simulation
A user load specification is received that specifies a number of simulated users, one or more simulated locations of the simulated users, one or more uses (controller or client) of the simulated users, and one or more roles of the simulated users. A user load simulator generates commands from simulated user instances to a computing installation (e.g., cluster), receives response to the commands, and updates states of the simulated user instances according to the responses. The commands and how the commands are submitted may be in accordance with the location, use, and/or role of each simulated user. The computing installation is monitored and observability data from the computing installation is related to the commands.
1 . An apparatus comprising:
one or more processing devices and one or more memory devices operably coupled to the one or more processing devices, the one or more memory devices storing executable code that, when executed by the one or more processing devices, causes the one or more processing devices to:
receive a user load specification defining one or more types;
generate commands to a computing installation from simulated users having the one or more types;
receive responses to the commands; and
update states of the simulated users according to the responses;
monitoring observability data of the computing installation resulting from loading resulting from executing the commands; and
outputting a report relating the observability data to the commands;
wherein the user load specification specifies a type of use for the simulated users; and
wherein the executable code, when executed by the one or more processing devices, causes the one or more processing devices to:
if the type of use is as a controller, submit the commands through a command line interface to the computing installation; and
if the type of use is as a client, submit the commands through a display interface;
wherein the display interface is an application programming interface (API).
2 . The apparatus of claim 1 , wherein the user load specification specifies a simulated location of the simulated users.
3 . The apparatus of claim 2 , wherein the simulated location indicates whether the simulated users are local or remote.
4 . The apparatus of claim 1 , wherein the commands include at least one of creating an account, opening an application, invoking generation of a model, accessing a control console, performing an administrative task, or instantiating a component.
5 . The apparatus of claim 1 , wherein the executable code, when executed by the one or more processing devices, causes the one or more processing devices to:
associate the simulated users with roles in the computing installation according to the user load specification; and
perform role-based access of the computing installation.
6 . The apparatus of claim 1 , wherein the executable code, when executed by the one or more processing devices, causes the one or more processing devices to:
update the states of the simulated users according to the responses by updating a state machine corresponding to each simulated user of the simulated users.
7 . A method comprising:
receiving, by a computer system, a user load specification defining one or more types;
generating, by the computer system, commands to a computing installation from simulated users having the one or more types;
receiving, by the computer system, responses to the commands; and
updating, by the computer system, states of the simulated users according to the responses;
monitoring, by the computer system, observability data of the computing installation resulting from loading resulting from executing the commands; and
outputting, by the computer system, a report relating the observability data to the commands;
wherein the user load specification specifies a type of use for the simulated users;
wherein generating the commands comprises generating the commands corresponding to the type of use; and
wherein the method further comprises:
in response to the type of use being as a controller, submitting the commands through a command line interface to the computing installation.
8 . The method of claim 7 , wherein the user load specification specifies a simulated location of the simulated users; and
wherein generating the commands comprises simulating generating of the commands from the simulated location.
9 . The method of claim 8 , wherein the simulated location indicates whether the simulated users are local or remote.
10 . The method of claim 7 , wherein the commands include at least one of creating an account, opening an application, invoking generation of a model, accessing a control console, performing an administrative task, or instantiating a component.
11 . A method comprising:
receiving, by a computer system, a user load specification defining one or more types;
generating, by the computer system, commands to a computing installation from simulated users having the one or more types;
receiving, by the computer system, responses to the commands; and
updating, by the computer system, states of the simulated users according to the responses;
monitoring, by the computer system, observability data of the computing installation resulting from loading resulting from executing the commands; and
outputting, by the computer system, a report relating the observability data to the commands;
wherein the user load specification specifies a type of use for the simulated users;
wherein generating the commands comprises generating the commands corresponding to the type of use; and
wherein the method further comprises in response to the type of use is as a client, submitting the commands through a display interface;
wherein the display interface is an application programming interface (API).
12 . The method of claim 7 , further comprising:
associating, by the computer system, the simulated users with roles in the computing installation according to the user load specification; and
performing, by the computer system, role-based access of the computing installation.
13 . The method of claim 7 , further comprising:
updating, by the computer system, the states of the simulated users according to the responses by updating a state machine corresponding to each simulated user of the simulated users.