Load test system for a server and method of use
First Claim
1. A method for load testing a server, wherein the server is accessed by a plurality of client devices, the method comprising the steps of:
- (a) providing at least one virtual user, wherein each of the at least one virtual users simulates one of the plurality of client devices;
(b) providing a main thread to emulate a plurality of user sessions between the at least one virtual user and the server, wherein each user session includes at least one request/response pair;
(c) generating a plurality of subthreads from the main thread, wherein each subthread emulates one of the plurality of user sessions;
(d) building in each virtual user a message, wherein the message includes a request extracted from the at least one request/response pair in the one user session; and
(e) transmitting the message to the server.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for load testing a server is disclosed. The method and system includes providing at least one virtual user, each of which simulates one client device, a main thread to emulate a plurality of user sessions between the at least one virtual user and the server, wherein each user session includes at least one request/response pair, and generating a plurality of subthreads from the main thread, wherein each subthread emulates one of the plurality of user sessions. The method and system further includes, building in each virtual user a message that includes a request extracted from the at least one request/response pairs in the one user session, and transmitting that message to the server.
The method and system according to the preferred embodiment of the present invention easily creates a system load, quickly composes multi-user test scenarios, and automatically runs load testing. One aspect of the method and system of the present invention supports a stateful model, i.e., messages can be built based on previous synchronization user sessions with the server, because information that is to be used in subsequent messages or user sessions is stored and updated in a configuration file. Messages are then built to include information stored in the configuration file. In another aspect of the present invention, security information is also stored in the configuration file so that the subthread can emulate secure communications between the virtual user and the server.
56 Citations
38 Claims
-
1. A method for load testing a server, wherein the server is accessed by a plurality of client devices, the method comprising the steps of:
-
(a) providing at least one virtual user, wherein each of the at least one virtual users simulates one of the plurality of client devices;
(b) providing a main thread to emulate a plurality of user sessions between the at least one virtual user and the server, wherein each user session includes at least one request/response pair;
(c) generating a plurality of subthreads from the main thread, wherein each subthread emulates one of the plurality of user sessions;
(d) building in each virtual user a message, wherein the message includes a request extracted from the at least one request/response pair in the one user session; and
(e) transmitting the message to the server. - View Dependent Claims (2, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
3. The method of claim I further including the steps of:
-
(f) receiving a reply from the server;
(g) extracting, from the reply, information that is to be used in subsequent messages, wherein the information includes any combination of state related information, cookies, and security information; and
(h)storing the extracted information in a configuration file associated with the virtual user. - View Dependent Claims (4)
-
-
13. A computer readable medium containing programming instructions for load testing a server, wherein the server is accessed by a plurality of client devices, comprising the instructions for:
-
(a) providing at least one virtual user, wherein each of the at least one virtual users simulates one of the plurality of client devices;
(b) providing a main thread to emulate a plurality of user sessions between the at least one virtual user and the server, wherein each user session includes at least one request/response pair;
(c) generating a plurality of subthreads from the main thread, wherein each subthread emulates one of the plurality of user sessions;
(d) building in each virtual user a message, wherein the message includes a request extracted from the at least one request/response pair in the one user session; and
(e) transmitting the message to the server. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system for load testing a server, wherein the server is accessed by a plurality of client devices, the system comprising:
-
a computer system including a processor for executing a programming application; and
memory coupled to the processor;
wherein the programming application;
provides at least one virtual user, wherein each of the at least one virtual users simulates one of the plurality of client devices;
provides a main thread to emulate a plurality of user sessions between the at least one virtual user and the server, wherein each user session includes at least one request/response pair;
generates a plurality of subthreads from the main thread, wherein each subthread emulates one of the plurality of user sessions;
builds, in each virtual user, a message, wherein the message includes a request extracted from the at least one request/response pair in the one user session; and
transmits the message to the server. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
-
33. A method for load testing a server, wherein the server is accessed by a plurality of client devices, the method comprising the steps of:
-
(a) providing at least one virtual user, wherein each of the at least one virtual users simulates one of the plurality of client devices;
(b) providing a main thread to emulate a plurality of user sessions between the at least one virtual user and the server, wherein each user session includes at least one request/response pair;
(c) generating a plurality of subthreads from the main thread, wherein each subthread emulates one of the plurality of user sessions;
(d) providing, in each virtual user, a configuration file for storing information that is to be used in subsequent and current messages;
(e) building, in each virtual user, a message, wherein the message includes a request extracted from the at least one request/response pair in the one user session and configuration file information; and
(f) transmitting the message to the server. - View Dependent Claims (34, 35)
-
-
36. A computer readable medium containing programming instructions for load testing a server, wherein the server is accessed by a plurality of client devices, comprising the programming instructions for:
-
(a) providing at least one virtual user, wherein each of the at least one virtual users simulates one of the plurality of client devices;
(b) providing a main thread to emulate a plurality of user sessions between the at least one virtual user and the server, wherein each user session includes at least one request/response pair;
(c) generating a plurality of subthreads from the main thread, wherein each subthread emulates one of the plurality of user sessions;
(d) providing, in each virtual user, a configuration file for storing information that is to be used in subsequent and current messages;
(e) building, in each virtual user, a message, wherein the message includes a request extracted from the at least one request/response pair in the one user session and configuration file information; and
(f) transmitting the message to the server. - View Dependent Claims (37, 38)
-
Specification