|
| Synopsis: eVlite plays back eValid scripts with reduced fidelity using HTTP/S protocol only. Browser playback context is not preserved because the playback is not done with the eValid browser. However, the eVlite HTTP/S based protocol test engine can impose very high workloads on the server. A single eVlite instance can simulate up to 5,000 navigating users. Ten eVlite's running on a 2 GB machine simulate the activity of 10,000 navigating users. |
Introduction
eVlite is an alternative eValid playback engine that
plays back any eValid script with limited fidelity.
We call this kind of limited-fidelity, non-context-preserving,
playback a "virtual user".
Such a playback will seem to be a user to the server,
the playback does some activity-producing work,
but it is NOT the same as a full-fidelity,
full-eValid user emulation.
eVlite is capable of playing back a script in a single or in multiple threads (up to 5,000 "virtual users"; see the table below). Each such user will be performing the same sequence of actions over and over, with the same repetition count specification that is available for full-eValid users.
Running eVlite
eVlite is launched only from a LoadTest script.
To switch the LoadType mode from the default, FULL,
to the eVlite mode you edit in the command LoadType LITE.
Each LoadTest file can be in only one mode at at time, but this
mode can be switched back and forth.
The LoadType mode can be returned to full eValid launches with the command LoadType FULL. It is permitted to switch the LoadType mode back and forth any number of times in one LoadTest script.
Recommended Use
eVlite is very good at creating
a very large amount of activity on a server.
Running eVlite with 1000 users usually will consume 50% or more of
available server capacity,
but this is non-coherent, non-context-preserving activity,
i.e. activity that is not transaction oriented.
We have found from experience that using eVlite to create significant non-transaction activity makes it easier to identify the break points in overall response time for transaction activity, that is, for full-eValid playbacks. A good ratio, we find, is ~10 transaction (eValid) playbacks combined with ~1000 navigation-only (eVlite) playbacks.
Size and Capacity
eVlite has a very small initial footprint,
~5 MB per instance.
Expansion of needed RAM to run eVlite is roughly linear with the
replication factor of up to 1000 users (5,000 is the maximum number),
all of which play back the same eValid script.
The table below assumes an eValid driver computer with 2 GB RAM total,
with ~1666 MB available for eVlite executions.
| Execution Properties of Various Combinations of eVlite | ||||||
| Base Size | N=1 | N=10 | N=50 | N=100 | N=500 | N=1000 |
| ~5 MB (per instance) | ~8.7 MB | ~6.4 MB | ~7.6 MB | ~10.6 MB | ~22 MB | ~39.0 MB |
| Number of eVlite Copies | ~90 | ~85 | ~65 | ~55 | ~20 | ~10 |
| Total Number of Simulated Users | ~90 | ~850 | ~3,250 | ~5,500 | ~10,000 | ~10,000 |
Each copy of eVlite that is running can generate the work of 1000 users. But that copy runs only one script. As the total number of simulated users goes up the variety of the scripts decreases. There is a tradeoff between different number of scripts and total number of simultaneous playbacks (see below).
Playback Commands Recognized
eVlite recognizes a limited number of eValid commands, listed below.
All other eValid commands in a script are read but are
not processed by eVlite.
# (comment)
InitLink
FollowLink
GetURL
GoBackTo
GoForwardTo
GotoLink
GotoLinkSubmit
ValidAfter
ValidUntil
Wait
WaitHH
WaitMM
WaitModHH
WaitModMM
Performance Reporting
eVlite reports data to the LoadTest logfiles just as eValid does.
All data from any single eVlite invocation, regardless of the number of threads, uses only one LoadTest ID.
Detailed Results
The actual number of copies of eVlite that can be run, and the actual number of replications of
eValid scripts that can be played back, depend on the script and on the machine.
The table below summarizes results for a 2.8 GHz P-IV machine with 2 GBytes of RAM using a very
simple playback script that navigates to just one page.
| 5 eVlite Copies Running* | |||
| Script Width | Peak Mem (MB) | eVlite (MB) | Simultaneous User Playbacks |
| 1 | 12 | 23 | 1 x 5 = 5 |
| 50 | 36 | 38 | 50 x 5 = 250 |
| 100 | 60 | 47 | 100 x 5 = 500 |
| 150 | 81 | 55 | 150 x 5 = 750 |
| 200 | 106 | 63 | 200 x 5 = 1,000 |
| 250 | 131 | 72 | 250 x 5 = 1,250 |
| 500 | 248 | 112 | 500 x 5 = 2,500 |
| 1,000 | 490 | 195 | 1,000 x 5 = 5,000 |
| 10 eVlite Copies Running* | |||
| Script Width | Peak Mem (MB) | eVlite (MB) | Simultaneous User Playbacks |
| 1 | 24 | 50 | 1 x 10 = 10 |
| 50 | 55 | 77 | 50 x 10 = 500 |
| 100 | 102 | 93 | 100 x 10 = 1,000 |
| 150 | 158 | 110 | 150 x 10 = 1,500 |
| 200 | 208 | 125 | 200 x 10 = 2,000 |
| 250 | 260 | 142 | 250 x 10 = 2,500 |
| 500 | 494 | 222 | 500 x 10 = 5,000 |
| 1,000 | 688 | 390 | 1,000 x 10 = 10,000 |
| 20 eVlite Copies Running* | |||
| Script Width | Peak Mem (MB) | eVlite (MB) | Simultaneous User Playbacks |
| 1 | 52 | 120 | 1 x 20 = 20 |
| 50 | 127 | 152 | 50 x 20 = 1,000 |
| 100 | 142 | 186 | 100 x 20 = 2,000 |
| 150 | 323 | 212 | 150 x 20 = 3,000 |
| 200 | 406 | 252 | 200 x 20 = 4,000 |
| 250 | 508 | 284 | 250 x 20 = 5,000 |
| 500 | 739 | 440 | 500 x 20 = 10,000 |
| 1,000 | 690 | 254 | 1,000 x 20 = 20,000 |
Cautionary Note
The server activity produced by an eVlite user and a full-eValid
running identically the same playback script can differ by a
factor of 10:1 to 1000:1 or more.
In addition to depending on the script being played,
and on the organization of the website,
and the technology used by the server to compose pages.
these differences may also be due to other factors including:
Performance data collected from eVlite-only runs is not necessarily representative of complete, realistic synthetic transactions and should not be used in place of full-reality eValid playbacks.