PERFORMANCE TESTING OF DATA DELIVERY TECHNIQUES FOR AJAX APPLICATIONS
Keywords:
Performance testing, Ajax, Web data delivery, Comet, Push/pull, Empirical studyAbstract
AJAX applications are designed to have high user interactivity and low user-perceived latency. Realtime dynamic web data such as news headlines, stock tickers, and auction updates need to be propagated to the users as soon as possible. However, AJAX still suffers from the limitations of the Web’s request/response architecture which prevents servers from pushing real-time dynamic web data. Such applications usually use a pull style to obtain the latest updates, where the client actively requests the changes based on a predefined interval. It is possible to overcome this limitation by adopting a push style of interaction where the server broadcasts data when a change occurs on the server side. Both these options have their own trade-offs. This paper first introduces the characteristics of both pull and push approaches. It then presents the design and implementation of our distributed test framework, called CHIRON, where different AJAX applications based on each approach can be automatically tested on. Finally, we present and discuss the results of our empirical study comparing different web-based data delivery approaches.
Downloads
References
S. Acharya, M. Franklin, and S. Zdonik. Balancing push and pull for data broadcast. In SIGMOD
’97: Proceedings of the 1997 ACM SIGMOD international conference on Management of data,
pages 183–194. ACM Press, 1997.
S. Alager and S. Venkatsean. Hierarchy in testing distributed programs. In AADEBUG ’93:
Proceedings of the First International Workshop on Automated and Algorithmic Debugging,
pages 101–116, London, UK, 1993. Springer-Verlag.
M. Ammar, K. Almeroth, R. Clark, and Z. Fei. Multicast delivery of web pages or how to make
web servers pushy. Workshop on Internet Server Performance, 1998.
M. Bhide, P. Deolasee, A. Katkar, A. Panchbudhe, K. Ramamritham, and P. Shenoy. Adaptive
push-pull: Disseminating dynamic web data. IEEE Trans. Comput., 51(6):652–668, 2002.
E. Bozdag, A. Mesbah, and A. van Deursen. A comparison of push and pull techniques for Ajax.
In S. Uang and M. D. Penta, editors, Proc. of 9th IEEE International Symposium on Web Site
Evolution (WSE), pages 15–22, 2007.
L. C. Briand, S. Morasca, and V. R. Basili. An operational process for goal-driven definition of
measures. IEEE Trans. Softw. Eng., 28(12):1106–1125, 2002.
D. Campbell and J. Stanley. Experimental and Quasi-Experimental Designs for Research. Rand-
McNally, Chicago, 1963.
J. Chen, R. M. Hierons, and H. Ural. Overcoming observability problems in distributed test
architectures. Inf. Process. Lett., 98(5):177–182, 2006.
M. Consulting. Jetty webserver documentation - continuations. http://docs.codehaus.org/
display/JETTY/Continuations, 2007.
Direct Web Remoting. Reverse Ajax documentation. http://getahead.org/dwr/
reverse-ajax, 2007.
P. T. Eugster, P. A. Felber, R. Guerraoui, and A.-M. Kermarrec. The many faces of publish/
subscribe. ACM Comput. Surv., 35(2):114–131, 2003.
R. T. Fielding and R. N. Taylor. Principled design of the modern web architecture. ACM Trans.
Inter. Tech., 2(2):115–150, 2002.
M. Franklin and S. Zdonik. Data in your face: push technology in perspective. In SIGMOD
’98: Proceedings of the 1998 ACM SIGMOD international conference on Management of data,
pages 516–519. ACM Press, 1998.
J. Garrett. Ajax: A new approach to web applications. Adaptive Path: http://adaptivepath.
com/publications/essays/archives/000385.php, 2005.
M. Hauswirth and M. Jazayeri. A component and communication model for push systems. In
ESEC/FSE ’99, pages 20–38. Springer-Verlag, 1999.
K. Juvva and R. Rajkumar. A real-time push-pull communications model for distributed realtime
and multimedia systems. Technical Report CMU-CS-99-107, School of Computer Science,
Carnegie Mellon University, January 1999.
R. Khare. Beyond Ajax: Accelerating web applications with real-time event notification.
Knownow.com, white-paper.
R. Khare and R. N. Taylor. Extending the representational state transfer (REST) architectural
style for decentralized systems. In ICSE ’04: Proceedings of the 26th International Conference
on Software Engineering, pages 428–437. IEEE Computer Society, 2004.
J.-P. Martin-Flatin. Push vs. pull in web-based network management. http://arxiv.org/pdf/
cs/9811027, 1999.
A. Mesbah, E. Bozdag, and A. van Deursen. Crawling Ajax by inferring user interface state
changes. In Proceedings of the 8th International Conference on Web Engineering (ICWE’08),
pages 122–134. IEEE Computer Society, 2008.
A. Mesbah and A. van Deursen. An architectural style for Ajax. In Proc. of 6th Working
IEEE/IFIP Conference on Software Architecture (WICSA’07), pages 44–53, 2007.
A. Mesbah and A. van Deursen. Migrating multi-page web applications to single-page Ajax
interfaces. In Proc. of 11th European Conference on Software Maintenance and Reengineering
(CSMR’07), pages 181–190, 2007.
A. Mesbah and A. van Deursen. A component- and push-based architectural style for Ajax
applications. Journal of Systems and Software (JSS), 2008. To appear.
Netscape. An exploration of dynamic documents. http://wp.netscape.com/assist/net_
sites/pushpull.html, 1996.
A. Russell. Comet: Low latency data for the browser. http://alex.dojotoolkit.org/?p=
A. Russell, G. Wilkins, and D. Davis. Bayeux - a JSON protocol for publish/subscribe event
delivery protocol 1.0draft1. http://svn.xantus.org/shortbus/trunk/bayeux/bayeux.
html, 2007.
D. Schiemann. The forever-frame technique. http://cometdaily.com/2007/11/05/
the-forever-frame-technique, November 2007.
R. Srinivasan, C. Liang, and K. Ramamritham. Maintaining temporal coherency of virtual data
warehouses. In RTSS ’98: Proc. of IEEE Real-Time Systems Symposium, page 60, 1998.
Sun microsystems remote method invocation home. http://java.sun.com/javase/
technologies/core/basic/rmi/.
T.D.Cook and D.T.Campbell. Quasi-Experimentation - Design and Analysis Issues for Field
Settings. Houghton Mifflin Company, 1979.
V. Trecordi and G. Verticale. An architecture for effective push/pull web surfing. In 2000 IEEE
International Conference on Communications, volume 2, pages 1159–1163, 2000.
W3C. Chunked transfer coding. http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.
html#sec3.6.1.
M.Welsh, D. Culler, and E. Brewer. Seda: an architecture for well-conditioned, scalable internet
services. SIGOPS Oper. Syst. Rev., 35(5):230–243, 2001.
M. Welsh and D. E. Culler. Adaptive overload control for busy internet servers. In USENIX
Symposium on Internet Technologies and Systems, 2003.
C. Wohlin, P. Runeson, M. H¨ost, M. C. Ohlsson, B. Regnell, and A. Wessl´en. Experimentation
in software engineering: an introduction. Kluwer Academic Publishers, 2000.