2. Assumptions, Target Audience
⢠This webinar will cover the role of the server in mobile
performance, how to test for it, and what can be done.
⢠Focus on mobile website performance
⢠Performance testing of the mobile app/device was covered
in a previous webinar.
⢠Performance testing emphasizing the network will be
covered in a future webinar
â March 14 at 10 AM EST 2013
⢠Target audience â managers, developers, testers
3. Agenda
⢠Introduction: The Mobile Challenge
⢠Differences between Mobile and Desktop usage
⢠Know what is going on behind the scenes
â 1st Step, a Simple Comparison Test
â 2nd Step, a Simple Performance Test
â 3rd Step, a Simple Load Test
⢠Optimization Strategies
⢠Conclusion
4. Introduction: The Mobile Challenge
⢠Mobile Internet usage is projected to pass desktop Internet
usage in 2014
⢠Google found that a .5-1 second increase in page load time
resulted in a 20% decrease in traffic and revenue.
⢠Akamai found that the number of users who abandon a page
after 3 seconds was 57%.
⢠We expect the online experience to be as fast as our desktop
experience, but it isnât, and that is a problem.
⢠Mobile is slower, but it doesnât have to be.
5. 2013 State of Mobile Testing Survey
Differences Between Desktop and Mobile QA processes
⢠30% of mobile developers believe that the differences
between mobile and desktop are significant enough to have
different processes for development and QA.
⢠An additional 25% donât have different processes for mobile,
but think that different processes for mobile are necessary.
- 2013 State of Mobile Testing, XBOSoft
⢠Report of the survey findings can be found at
www.xbosoft.com/knowledge_center/ from March 2013
7. Differences between Mobile and Desktop
Fat vs. Thin data pipe:
Fat, high
speed, Broadband data
pipe
The Cloud
Thin, slow, 2.5G
or 3G data pipe
8. Differences between Mobile and Desktop
Many Tower connections:
⢠Jumping from tower to tower can slow down
your connection by an order of magnitude.
9. Differences between Mobile and Desktop
Smaller, less powerful device: Your mobile device has a less powerful CPU, less RAM and a
smaller screen resolution. The server needs to take this into account.
Navigation: Your finger is used to navigate so touches have to be translated into clicks.
10. Differences between Mobile and Desktop
Downloading Strategies:
⢠Some websites preload all the next level pages.
â This can greatly speed up the user experience for the desktop, but for
the mobile device, it takes up valuable bandwidth and can be costly.
⢠Some anticipate what you might click on next and preloads
those pages.
Charging for Data Usage:
⢠In many countries, data usage can be expensive.
11. m.site vs. apps vs. full website
Three approaches to making you website accessible to
mobile devices
1. m.site â the most common approach
+ designed for mobile makes it faster and easier to read
â two versions of your website
â features missing or accessed differently cause user discontent
2. Mobile app â resides on mobile device
+ Highly optimized for that mobile device
â User may not download app or keep it up to date
3. Mobile Accessible of full website
+ One version of website, common user experience
â can compromise main website, harder to program
12. Know what you are testing
Proxy Servers: What are they?
GPRS
Website
Server
Internet
Two Examples :
Proxy
⢠Nokia devices and Server
⢠Opera mini browsers
13. Know what you are testing
Proxy Servers: How do they affect your testing?
⢠Nokia devices and Opera mini browsers
⢠Can reduce by up to 90% the amount of data
transferred.
⢠Speed and Cost savings can be considerable
⢠most users will NOT access your servers through a
proxy server
⢠make sure you are testing in non-proxy server
environments
14. 1st Step, a Simple Comparison Test
Simple load performance test on XBOSoftâs main page
and several of its key pages. Not thorough, but a quick
check. Of course an automated smoke test is preferred,
but this is a quick fist step for those starting.
Compare XBOSoftâs
1. full version website, xbosoft.com, from the desktop.
2. xbosoft.com, from the mobile device.
3. m.xbosoft.com, from the mobile device.
15. 1st Step, a Simple Comparison Test
1. full version website, 2. xbosoft.com, on 3. m.xbosoft.com,
xbosoft.com, on the the mobile on the mobile
desktop device device
16. 1st Step, a Simple Comparison Test
⢠Download speed was reduced by 40% on the first download
from the full website to the m. website.
⢠However for a repeat download, the reduction in time was
only 7%.
17. Tools
⢠Webpagetest â webpagetest.org
â Quick and easy to start
â Offers connection analysis, page loading waterfall analysis, first view
and repeat view analysis, a report card and much more
⢠Akamai has a simple test for your mobile device -
http://mobitest.akamai.com/m/index.cgi
â Doesnât differentiate between first run and repeat runs with caching.
â Very simple, but good for getting started
⢠howtogomo.com
â Quick and easy
⢠Plus many, many more
18. 2nd Step, a Simple Performance Test
⢠Test with WiFi, take the network out of the equation.
⢠The Network part of the equation will be discuss in
Mobile Performance Testing Part 3: the Network
⢠Goal is to make phone as fast as desktop without
having network involved
19. 2nd Step, a Simple Performance Test
Test with webpagetest.org
⢠It is free.
⢠Run by WPO Foundation whose goal is to âsupport Web
Performance Movementâ.
⢠A quick way to identify areas that are causing
performance problems.
⢠Mainly for desktop testing, but it good for a quick test for
iOS or Android 2.3
20. 2nd Step, a Simple Performance Test
webpagetest.org provides
⢠A summary.
⢠The load times, for both first and repeat downloads.
⢠Connection analysis.
⢠Detailed look at each component downloaded.
⢠Plus much more.
22. 2nd Step, a Simple Performance Test
Go to webpagetest.org and enter
⢠Website url
⢠Test location â choose from almost any where in the world
⢠Browser/device
For this Simple Performance Test, we chose
⢠Website url â xbosoft.com and m.xbosoft.com
⢠Test location â Dulles VA
⢠Browser/device - iPhone 4 iOS 5.1
This will analyze the performance of your website, from this specified
location and this specified device/browser.
23. 2nd Step, a Simple Performance Test
⢠First Byte Time â time for receiving first byte for the page.
⢠Keep Alive Enabled â connection socket is kept open so that many objects
can use it.
⢠Compress Transfer â compress object types âJavaScriptâ or âtextâ.
⢠Compress Images â compress object types âimageâ.
⢠Cache Static Content â controls expiration of objects in cache.
⢠CDN Detected â Content Delivery Network, Is a distributed system of
servers being used? â to be discussed in detail in next webinar
24. 2nd Step, a Simple Performance Test
webpagetest.org
Gives the same information as our âSimple Comparison Testâ, but
with an automated tools.
25. First View for xbosoft.com
Ten connection sockets were opened, many
stayed open to retrieve many objects, which
increases performance.
26. First View â Waterfall of Objects
⢠The number of objects
requested is a lot for a
mobile device.
⢠To speed up the first
download, many of the
objects need to be
combined.
⢠The repeat download
was so much faster
because most of these
objects were cached.
27. Repeat View for xbosoft.com
Dramatic decrease
in connections and
objects which
resulted in dramatic
decrease in
response time.
28. First View for m.xbosoft.com
⢠The number of objects
was cut from 50 to 20
⢠The number of
connections was cut from
10 to 3
29. Repeat View for m.xbosoft.com
⢠Caching cut the
number of bojects in
half.
30. 3rd Step, a Simple Load Test
At a minimum, Simple Load Test should be done
⢠start with a server that has been load tested for the desktop.
⢠simulate the 500 desktop users.
⢠add one mobile user at a time and monitor the effect on the server.
Simulate
500 users
Add mobile
user 1 at a
time
31. Optimization Strategies
⢠80% of the time it takes for a web page to load is on the client
side
⢠The server has to change what it delivers to make the clientâs
job easier.
Two main Strategies
1. Reduce transmissions
2. Reduce payload
32. 1) Reducing the number of HTTP
Requests
Why will this help?
- Round trip with a broadband connection can be 1-30 milliseconds
- Round trip for a 2.5G or 3G network is usually 300-400 milliseconds (and it
can be a lot worse).
- Round trip for a 4G network is typically 200+.
What can be done?
â Consolidating Resources
â Embed resources in html for first-time use
â HTML5 Web Storage
â Uni-directional server update
33. 2) Reduce Payloads
Why will this help?
â Less data transferred, less time spent
â If over device hw capacities, reducing payload can mean the
difference between loading a page and a page failure
What can be done?
â Compress
â Resize
â Simplify
34. Future Solution?
Those that favor âmaking your full website more mobile
friendlyâ is the future solution because of
1) Mooreâs Law for computer power and storage, and
2) Nielsenâs Law for Internet bandwidth.
35. Conclusion
⢠Test early, test often.
⢠Best way to solve mobile performance problems is
to prevent them. Donât wait until after deployment
to start worrying about performance issues.
⢠You donât need complicated, expensive tools to get
started, a lot can be done simply.
⢠No server performance testing will lead to disaster!
36. Q&A
Follow us on twitter: @XBOSoft
www.xbosoft.com/knowledge_center/
Editor's Notes
The mobile web is different than how you use the web on your desktop. When accessing an internet site, a web page is delivered from a server directly to your desktop through a high speed, broadband data pipe. But for mobile, the data pipe is much thinner.
For a mobile connection, not only is the pipe much smaller, but the data has to pass from tower to tower before it gets to your mobile device. This is one of the reasons your mobile user experience can be up to 2 times slower than the desktop experience.
Talk about India experience
Opera Mini fetches all content through a proxy server and reformats web pages into a format more suitable for small screens. A page is compressed, then delivered to the phone in a markup language called OBML (Opera Binary Markup Language), which Opera Mini can interpret. The data compression makes transfer time about two to three times faster, and the pre-processing improves the display of web pages not designed for small screens.