Patent ID: 6985940

Claim:
A method for testing performance of a server running a chosen computing application, the method comprising the steps of: (a) emulating a a plurality of individual client computing stations by a client emulation server, wherein a computing operation performed by such an emulated client resides in an application layer that communicates with a middleware layer on the emulated client; (b) forming, on the client emulation server, a workload execution definition file referencing a first collection of a number of live maps, wherein such a live map includes i) identification of an application layer transaction for actual processing by a tested server running the chosen computing application, and ii) data for the chosen application, including data formed at the emulated client application layer, and wherein the chosen computing application of the transaction for such a live map is the same for each of the live maps in the collection; (c) passing the collection from such a client application layer to such a client middleware layer; (d) reading, in response to the workload execution definition file by a number X of instances of a map sender program running on the client emulation server, the first collection of live maps; (e) transmitting, a number of instances of the collection of live maps to the tested server as a processing load by the respective map sender program instances, so that the number of transmitted instances of the collection of live maps corresponds to the number X of instances of the map sender program; (f) measuring one or more performance criteria resulting from said tested server actually processing said load, wherein the measuring of the one or more performance criteria includes time stamping a record of such a live map for specific ones of the application layer transactions to determine server and network latency; (g) changing, by the client emulation server, the first collection of live maps and the number X of instances of map sender programs to a number Y, in order to selectively vary processing loads of the tested server, wherein the changing includes changing the number of said live maps and types of said transactions in the first collection of live maps; (h) reading the changed collection of live maps by the Y instances of the map sender program; (i) transmitting, by the Y instances of the map sender program, a next processing load from the client to the server, so that the next processing load includes Y instances of the changed collection of live maps; and (j) repeating said measuring step (f) for the next processing load.