Inter-continental mobile performance testing!
Monday, June 13, 2011 at 1:38AM I figured I might as well be productive whilst I was on my way to the airport so I set my phone (Android HTC Desire) to do some automated performance testing using 3PMobile.com’s Browser2.
Since I am on my way to #VelocityConf what better site to test that http://velocityconf.com/velocity2011?
I set it up as the first test on my test page here - http://demo.seriticonsulting.com/3pmobile/index.htm and you can see the Javascript required for the testing below. It tests the URL and then waits 120secs and loops back around. I can stop it at any time from the app UI on the phone.
<script>
function do_velocity_loop_test()
{
var urls = ""; // The list of URLS to AUTOTEST
urls += "http://velocityconf.com/velocity2011\n";
urls += "loop delay 120\n";
js5o9.autotest( urls );
}
</script>
You can see the tests following the route from my home in Guildford, Surrey, to London Heathrow Terminal (about a 35 min drive when the traffic is good).
The results averaged out at around 10secs or so for the 620Kb, 44 object page.
Fast forward about 12 hours and I am in the taxi from SFO to the Avatar Hotel, Santa Clara which will be my home for the next week.
So what’s the performance like roaming on AT&T?
Utterly abysmal is the answer!
My first test, with a reasonable signal strength of 26 ASU, came in 3x slower at 30secs.
The big culprit here, compared to my Vodafone network in the UK, is that the AT&T network still uses the older EDGE network, instead of the much faster HSDPA.
| _di_cellular_network_type | => | EDGE |
| _di_cell_tower_current_time | => | 06/12/2011 03:05:55 PM PDT |
| _di_cell_tower_current_id | => | GSM cid/7651 lac/6039 mcc/310 mnc/410 |
| _di_cell_tower_current_signal_strength | => | 26 asu |
You can see the test location below as we drove out of the SFO carpark in the taxi.
The other tests just got slower and slower, taking nearly 2 mins in some cases!
If we look at a test that took 1m50sec we can see from the Webkit timing events (see table at the bottom of the blog) that basically no external events were registered between ~11 seconds and ~88seconds.
Basically the AT&T network took a holiday…
Anyway, once I got to the hotel I decided to do a “back to back” test of the Avatar hotel’s free speed-limited 512Kbps Wifi with the mobile network whilst sat around the pool… and the wifi romped it in with 16.49secs compared to the 55sec it took over the mobile network (still Edge, 16 ASU).
I look forward to doing some more testing later in the week!
Standard WebKit Timing Events (for the 1m50sec test on AT&T)
| # | Time Absolute | Time Relative | Time Since Last Event | Event Name | Event Description |
|---|---|---|---|---|---|
| 1 | 1307916760779 | 0 | 0 | loadUrl | |
| 2 | 1307916760786 | 7 | 7 | onNewPicture | |
| 3 | 1307916760789 | 10 | 3 | onDraw | |
| 4 | 1307916760801 | 22 | 12 | onPageStarted | |
| 5 | 1307916760833 | 54 | 32 | onProgressChanged | |
| 6 | 1307916760833 | 54 | 0 | onLoadResource | |
| 7 | 1307916760977 | 198 | 144 | onDraw | |
| 8 | 1307916763523 | 2744 | 2546 | onLoadResource | |
| 9 | 1307916767245 | 6466 | 3722 | onLoadResource | |
| 10 | 1307916767257 | 6478 | 12 | onLoadResource | |
| 11 | 1307916767311 | 6532 | 54 | onLoadResource | |
| 12 | 1307916767316 | 6537 | 5 | onLoadResource | |
| 13 | 1307916767320 | 6541 | 4 | onLoadResource | |
| 14 | 1307916767324 | 6545 | 4 | onLoadResource | |
| 15 | 1307916767329 | 6550 | 5 | onLoadResource | |
| 16 | 1307916767376 | 6597 | 47 | onLoadResource | |
| 17 | 1307916767379 | 6600 | 3 | onLoadResource | |
| 18 | 1307916767383 | 6604 | 4 | onLoadResource | |
| 19 | 1307916767390 | 6611 | 7 | onLoadResource | |
| 20 | 1307916767437 | 6658 | 47 | onLoadResource | |
| 21 | 1307916767441 | 6662 | 4 | onLoadResource | |
| 22 | 1307916767446 | 6667 | 5 | onLoadResource | |
| 23 | 1307916767500 | 6721 | 54 | onLoadResource | |
| 24 | 1307916767507 | 6728 | 7 | onProgressChanged | |
| 25 | 1307916767907 | 7128 | 400 | onProgressChanged | |
| 26 | 1307916768995 | 8216 | 1088 | onProgressChanged | |
| 27 | 1307916769503 | 8724 | 508 | onProgressChanged | |
| 28 | 1307916770462 | 9683 | 959 | onProgressChanged | |
| 29 | 1307916771234 | 10455 | 772 | onProgressChanged | |
| 30 | 1307916771512 | 10733 | 278 | onLoadResource | |
| 31 | 1307916771528 | 10749 | 16 | onLoadResource | |
| 32 | 1307916771580 | 10801 | 52 | onLoadResource | |
| 33 | 1307916771892 | 11113 | 312 | onProgressChanged | |
| 34 | 1307916772485 | 11706 | 593 | onProgressChanged | |
| 35 | 1307916772842 | 12063 | 357 | onProgressChanged | |
| 36 | 1307916777808 | 17029 | 4966 | onProgressChanged | |
| 37 | 1307916779863 | 19084 | 2055 | onProgressChanged | |
| 38 | 1307916780821 | 20042 | 958 | onProgressChanged | |
| 39 | 1307916781972 | 21193 | 1151 | onProgressChanged | |
| 40 | 1307916782446 | 21667 | 474 | onProgressChanged | |
| 41 | 1307916782924 | 22145 | 478 | onProgressChanged | |
| 42 | 1307916783335 | 22556 | 411 | onProgressChanged | |
| 43 | 1307916784698 | 23919 | 1363 | onProgressChanged | |
| 44 | 1307916785185 | 24406 | 487 | onProgressChanged | |
| 45 | 1307916785907 | 25128 | 722 | onProgressChanged | |
| 46 | 1307916786765 | 25986 | 858 | onProgressChanged | |
| 47 | 1307916787723 | 26944 | 958 | onProgressChanged | |
| 48 | 1307916788583 | 27804 | 860 | onDraw | |
| 49 | 1307916788871 | 28092 | 288 | onProgressChanged | |
| 50 | 1307916789702 | 28923 | 831 | onProgressChanged | |
| 51 | 1307916792961 | 32182 | 3259 | onProgressChanged | |
| 52 | 1307916793519 | 32740 | 558 | onProgressChanged | |
| 53 | 1307916795115 | 34336 | 1596 | onProgressChanged | |
| 54 | 1307916796452 | 35673 | 1337 | onProgressChanged | |
| 55 | 1307916797059 | 36280 | 607 | onProgressChanged | |
| 56 | 1307916798782 | 38003 | 1723 | onProgressChanged | |
| 57 | 1307916800115 | 39336 | 1333 | onProgressChanged | |
| 58 | 1307916841236 | 80457 | 41121 | onReceivedTitle | |
| 59 | 1307916841294 | 80515 | 58 | onReceivedTouchIconUrl | |
| 60 | 1307916841362 | 80583 | 68 | onLoadResource | |
| 61 | 1307916841444 | 80665 | 82 | onLoadResource | |
| 62 | 1307916841527 | 80748 | 83 | onLoadResource | |
| 63 | 1307916841532 | 80753 | 5 | onLoadResource | |
| 64 | 1307916841599 | 80820 | 67 | onLoadResource | |
| 65 | 1307916841604 | 80825 | 5 | onLoadResource | |
| 66 | 1307916841656 | 80877 | 52 | onLoadResource | |
| 67 | 1307916841698 | 80919 | 42 | onLoadResource | |
| 68 | 1307916841702 | 80923 | 4 | onLoadResource | |
| 69 | 1307916841743 | 80964 | 41 | onLoadResource | |
| 70 | 1307916841785 | 81006 | 42 | onLoadResource | |
| 71 | 1307916841827 | 81048 | 42 | onLoadResource | |
| 72 | 1307916841833 | 81054 | 6 | onLoadResource | |
| 73 | 1307916841875 | 81096 | 42 | onLoadResource | |
| 74 | 1307916841918 | 81139 | 43 | onLoadResource | |
| 75 | 1307916841965 | 81186 | 47 | onNewPicture | |
| 76 | 1307916841974 | 81195 | 9 | onDraw | |
| 77 | 1307916841984 | 81205 | 10 | onDraw | |
| 78 | 1307916842991 | 82212 | 1007 | onProgressChanged | |
| 79 | 1307916843438 | 82659 | 447 | onProgressChanged | |
| 80 | 1307916843500 | 82721 | 62 | onProgressChanged | |
| 81 | 1307916843584 | 82805 | 84 | onProgressChanged | |
| 82 | 1307916843673 | 82894 | 89 | onLoadResource | |
| 83 | 1307916844135 | 83356 | 462 | onProgressChanged | |
| 84 | 1307916844265 | 83486 | 130 | onNewPicture | |
| 85 | 1307916844285 | 83506 | 20 | onDraw | |
| 86 | 1307916844288 | 83509 | 3 | onNewPicture | |
| 87 | 1307916844293 | 83514 | 5 | onNewPicture | |
| 88 | 1307916844295 | 83516 | 2 | onDraw | |
| 89 | 1307916844631 | 83852 | 336 | onProgressChanged | |
| 90 | 1307916844633 | 83854 | 2 | onNewPicture | |
| 91 | 1307916844666 | 83887 | 33 | onDraw | |
| 92 | 1307916844908 | 84129 | 242 | onProgressChanged | |
| 93 | 1307916845187 | 84408 | 279 | onProgressChanged | |
| 94 | 1307916845273 | 84494 | 86 | onNewPicture | |
| 95 | 1307916845291 | 84512 | 18 | onDraw | |
| 96 | 1307916845515 | 84736 | 224 | onProgressChanged | |
| 97 | 1307916845519 | 84740 | 4 | onNewPicture | |
| 98 | 1307916845552 | 84773 | 33 | onDraw | |
| 99 | 1307916845630 | 84851 | 78 | onNewPicture | |
| 100 | 1307916845641 | 84862 | 11 | onDraw | |
| 101 | 1307916846021 | 85242 | 380 | onProgressChanged | |
| 102 | 1307916846145 | 85366 | 124 | onProgressChanged | |
| 103 | 1307916846598 | 85819 | 453 | onProgressChanged | |
| 104 | 1307916848064 | 87285 | 1466 | onProgressChanged | |
| 105 | 1307916848171 | 87392 | 107 | onProgressChanged | |
| 106 | 1307916848780 | 88001 | 609 | onProgressChanged | |
| 107 | 1307916848821 | 88042 | 41 | onProgressChanged | |
| 108 | 1307916848822 | 88043 | 1 | onNewPicture | |
| 109 | 1307916849562 | 88783 | 740 | onProgressChanged | |
| 110 | 1307916849574 | 88795 | 12 | onNewPicture | |
| 111 | 1307916849846 | 89067 | 272 | onProgressChanged | |
| 112 | 1307916851545 | 90766 | 1699 | onProgressChanged | |
| 113 | 1307916863023 | 102244 | 11478 | onProgressChanged | |
| 114 | 1307916863825 | 103046 | 802 | onProgressChanged | |
| 115 | 1307916864185 | 103406 | 360 | onProgressChanged | |
| 116 | 1307916864312 | 103533 | 127 | onProgressChanged | |
| 117 | 1307916864867 | 104088 | 555 | onProgressChanged | |
| 118 | 1307916865601 | 104822 | 734 | onProgressChanged | |
| 119 | 1307916866165 | 105386 | 564 | onProgressChanged | |
| 120 | 1307916866387 | 105608 | 222 | onProgressChanged | |
| 121 | 1307916866555 | 105776 | 168 | onProgressChanged | |
| 122 | 1307916866711 | 105932 | 156 | onProgressChanged | |
| 123 | 1307916867097 | 106318 | 386 | onLoadResource | |
| 124 | 1307916867181 | 106402 | 84 | onLoadResource | |
| 125 | 1307916867272 | 106493 | 91 | onLoadResource | |
| 126 | 1307916867339 | 106560 | 67 | onLoadResource | |
| 127 | 1307916867409 | 106630 | 70 | onLoadResource | |
| 128 | 1307916867474 | 106695 | 65 | onLoadResource | |
| 129 | 1307916867531 | 106752 | 57 | onLoadResource | |
| 130 | 1307916867587 | 106808 | 56 | onLoadResource | |
| 131 | 1307916869991 | 109212 | 2404 | onProgressChanged | |
| 132 | 1307916871391 | 110612 | 1400 | onProgressChanged | |
| 133 | 1307916871441 | 110662 | 50 | onReceivedIcon | |
| 134 | 1307916871493 | 110714 | 52 | onPageFinished |
3PMobile,
Mobile,
WPO,
Web Performance,
WebPerf
Reader Comments