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.

eValid -- Mobile Device Loading Experiment -- 1,000 BUs
eValid Home

Using eValid LoadTest capability we ran a series of experiments that involved driving a mobile web application in ramped loading scenarios, up to 1,000 BUs in parallel. The results we generated strongly suggest that a performance limitation is an easily recognizable bottleneck in the infrastructure of the mobile application web server stack.

Chart of Derived Internal Response Times (Click to See Full Image)

Conclusions About Capacity
The chart graphs the basic page download time of the retrieval of train departure details into the mobile device, as a function of the total number of simultaneous users, which grows linearly over the 30-minute scenario duration. This chart suggests that the server-stack I/O capacity has been reached. You can see on the curve that the delays begin to build at a level of about 150 BUs.

Working backward and assuming linearity in the driven load, we estimate that the actual I/O channel capacity of the application server is 10 Mbps.

Technical Details
Here are the technical details about how this experiment was done.

Playback Script
The playback script used in this test is shown below. The actual product URL and some of the script details have been disguised.

# Recording by eValid V9 
# Copyright © 2012 by Software Research, Inc. 
# Recording made on: Microsoft Windows Vista 

ProjectID "LoadTests"
GroupID "MobileDemos"
TestID "Mobile-1000"

ScreenSize 1280 1024
FontSize 0

# Navigate to a webpage that contains any link like "Mobile XXXXXXXXXX"
# which spawns/redirects to a new target SUB-WINDOW (titled for example 
# "Mobile Web APPLICATION") instance containing your href... 
InitLink ""
Wait 3000

# Set up a sub-window for Apple iPhone 4 emulation...
SetUserAgent "Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+" \
	" (KHTML, like Gecko) Version/3.0 Mobile/1C25 Safari/419.3"
Wait 2236

# This sequence of INDEX MOTION commands will allow for the re-assignment
# of varying target=SUB-WINDOW titled instances, else we are limited to 
# the same referenced target for each separate parent browser spawned...
IndexSet 0
IndexFindElement 0 DOWN "innerText" "Mobile XXXXXXXXXX" ""
ValueSet "_window_$USER_$NUMB"
ValuePutElement 0 "target" ""
IndexFollowLink 0 ""

# The subwindow now will report data while dressed as the specified device...
SubFrameSet 1 "Mobile Web APPLICATION"
Wait 5192

# -------- Key Performance Indicator (KPI) Timing steps ---------------------

FollowLink 1 24 "Real Time Departures" "http://XXXXXXXXXX/schedules/eta/" \
	"index.aspx" ""
SyncOnText 1 "Departures as of" ""
SyncOnText 1 "min" ""
SyncOnText 1 " car)" ""

# Click internal stopwatch and save data for chart...
ElapsedTime "Train Schedule"
SaveRecord DownloadTime.txt "%T \tInstance: $USER_$NUMB_$_RunCount\tTime: %E"
# ---------------------------------------------------------------------------

# Wait a little bit (0.5 sec) to assure a clean exit from the playback.
Wait 500