My customer is migrating from telnet to web based apps. We are currently around about 1 second response time(versus 300msec in telnet), and they would like it faster. They want us to create a tool to figure out why rendering takes so long. We have run the resource monitor tool and do not see any spike in CPU or memory use. Has anyone ever optimized a web app to be sub second, or been able to measure rendering time of images, java script load, execute, or any other browser component that may be slow. It has been recommended they go to AJAX technology for this Application, but are reluctant to to change. It has also been suggested to change the Java Script to ActiveX. Has anyone tried these browsers at all * Bluelark Bluelark bought by Handspring Inc. * Deepfish Beta from Microsoft * Doris by Anygraaf Oy (Vantaa, Finland) * iPanel for Palm OS, * jB5 Mobile Browser Beta from Jataayu Software. * JOCA by InteracT!V, another proxy-rendering free software. * Minimo by Mozilla Foundation (based on Gecko). * Opera Mini by Opera Software - supports most features of stand-alone Opera, but can run on less capable phones by offloading memory-intensive rendering to proxy server (based on Opera Mobile running on a server). * Opera Mobile by Opera Software - supports all modern web standards supported by desktop browsers, including XHTML, CSS2 and Ajax. Has advanced Small Screen Rendering that adapts regular pages to small screen (proprietary). * Pixo by Sun Microsystems (Pixo acquired by Sun July 2003) * PocketWeb by tlogic.de (Heidelberg, Germany) Official product page * RocketBrowser Rocket Mobile, Inc. (Silicon Valley, CA). * SAS * Stanford Power Browser created in Stanford's InfoLab [5] * TeaShark - a free Java-based browser with a desktop-like layout [6] Things the customer has done so far:
Add logging for page rendering ,server processing time etc
Change Response Redirects to Server.Transfer wherever applicable
Rewrite Majority of Interop calls
Consolidate Stored Procs and consolidate calls to SPs and create views as far as possible since inline sql does not get cached
Move all calls which need to be asynchronous into a service
Add set timeout code to Master page in OnLoad
Create Qfill Master Page and only include icons critical for navigation
Compress all images
Create an application specific css file and compress it
Move javascript processing to server side as much as possible to an include file
Ajax simulation
Combine pages that are similar
Possible simplification of screens by removing nice to have controls (impacts functionality)
5 Replies
Thanks Richard, but now the dumb question from the non programmer. Where do I put this script, or how do I execute it, and where do the results show up?
Are there any tools or utilities to measure how much time data takes to get through the TCP/IP Stack?Mycustomer wants to know the time it takes in millieseconds from when aweb page is submitted to when it leaves the radio driver. And can wetrack when a HTTP request comes into the radio and how much time tillit is delivered to the application.
It is quite difficult to get this detailed information and probably uneccessary and not helpful in the first place. The time taken to get the html request out over the network from the termial, the server creating the reply and then transfering that reply back over the network to the terminal takes the majority of the time. That and the rending on the resulting reply to the screen (leaving aside any JavaScript execution) anyway. The time taken for ther packet to make its way up through the TCP/IP stack on the terminal is minor and incdental to all that.Benchmarking the html request times on any terminal can be done quite simply by using code similar to below
WebRequest request = HttpWebRequest.Create(uriString);request.Method = "GET"; HttpWebResponse response = request.GetResponse();Stream s = (Stream)response.GetResponseStream();StreamReader readStream = new StreamReader(s);string dataString = readStream.ReadToEnd();response.Close();s.Close();readStream.Close();The time taken to complete all the above would constitute the minimum time required for a simple web page transfer and will be be very dependant on network and server loads.Richard LH
27 Pass Elapsed 0.050072 secs http://www.demon.net/images/common/demon_logo.gif 26 Pass Elapsed 0.2804032 secs http://www.demon.net/ 25 Pass Elapsed 0.1902736 secs http://www.google.co.uk/intl/en_uk/images/logo.gif 24 Pass Elapsed 0.350504 secs http://www.guardian.co.uk/ 23 Pass Elapsed 0.3705328 secs http://uk.reuters.com/ 22 Pass Elapsed 0.4606624 secs http://www.google.com 21 Pass Elapsed 0.50072 secs http://www.independent.co.uk/ 20 Pass Elapsed 0.550792 secs http://www.telegraph.co.uk/ 19 Pass Elapsed 0.5107344 secs http://www.reghardware.co.uk/ 18 Pass Elapsed 0.50072 secs http://www.theinquirer.net/ 17 Pass Elapsed 0.4606624 secs http://www.theregister.co.uk/ 16 Pass Elapsed 0.4806912 secs http://www.theregister.co.uk/ 15 Pass Elapsed 0.550792 secs http://www.tomshardware.co.uk/ 14 Pass Elapsed 0.9313392 secs http://www.cuil.com/ 13 Pass Elapsed 0.8712528 secs http://www.timesonline.co.uk/ 12 Pass Elapsed 0.50072 secs http://uk.gizmodo.com/ 11 Pass Elapsed 0.4907056 secs http://news.bbc.co.uk/ 10 Pass Elapsed 0.8912816 secs http://www.wired.com/ 9 Pass Elapsed 0.75108 secs http://www.snelflight.co.uk/ 8 Pass Elapsed 1.1816992 secs http://alltop.com/ 7 Pass Elapsed 0.8412096 secs http://www.motorola.com/ 6 Pass Elapsed 0.901296 secs http://www.bsquare.com/ 5 Pass Elapsed 0.801152 secs http://www.swiftech.com/ 4 Pass Elapsed 1.6123184 secs http://www.smallnetbuilder.com/ 3 Pass Elapsed 1.2618144 secs https://web.mail.demon.net/ 2 Pass Elapsed 1.3319152 secs http://www.pluralsight.com/ 1 Pass Elapsed 2.203168 secs http://www.techfresh.net/ 0 Pass Elapsed 2.6438016 secs http://www.dangerden.com/ Further to my previous reply these are the sort of timings that are possible using a simple test app. These timings include the internet overhead (as these are public urls). Richard LH
Hi Chris, I believe part of the problem with WEB Applications is that they repaint the entire screen weather it changes or not. I have two customers that use a webapplication using Symbol Pocket Browser and it's nowhere aggressive as you see with telnet applciations. So what I ususally say to the customer is eliminate any graphics pictues and make it as simple as possible. Not sure if there are any third party application that optimize a web applciation for a handheld but anyone who has information on this should respond to this thread. For the most part customers that demand a subsecond response usually end up with a custom application built for mobilty. Any one else have any thoughts on this? Mark