Your e-Business Quality Partner eValid™ -- Automated Web Quality Solution
Browser-Based, Client-Side, Functional Testing & Validation,
Load & Performance Tuning, Page Timing, Website Analysis,
and Rich Internet Application Monitoring.
© Copyright 2000-2008 by Software Research, Inc.

eValid -- eVlite Limited Fidelity Playback Option
eValid Home

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=1N=10N=50N=100N=500N=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

* Note: The above instances based on 2 GBytes total RAM less system OS usages.

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:

  1. Ability of eValid to download and process full pages, (eVlite downloads but does not browse or render the information in each URL);
  2. Ability of eValid to handle multi-threaded downloads (eVlite uses a single thread for each user and URLs are loaded serially on each thread, whereas eValid uses multiple threads);
  3. Capability of eValid to maintain the context of a session and this often involves use of the cache to good benefit (eVlite uses HTTP which is memoryless).

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.