Exploration of Dynamic Web Page Partitioning for Increased

Total Page:16

File Type:pdf, Size:1020Kb

Exploration of Dynamic Web Page Partitioning for Increased EXPLORATION OF DYNAMIC WEB PAGE PARTITIONING FOR INCREASED WEB PAGE DELIVERY PERFORMANCE BRIAN M. KRUPP BACHELOR OF SCIENCE IN COMPUTER INFORMATION SYSTEMS Baldwin-Wallace College May, 2005 submitted in partial fulfillment of requirement for the degree MASTERS OF COMPUTER AND INFORMATION SCIENCE at the Cleveland State University December, 2010 APPROVAL PAGE This thesis/dissertation has been approved for the Department of COMPUTER AND INFORMATION SCIENCE and the College of Graduate Studies by _________________________________________Date______________ Thesis Chairperson, Dr. Timothy Arndt Computer and Information Science _________________________________________Date______________ Committee Member, Dr. Ben Blake Computer and Information Science _________________________________________Date______________ Committee Member, Dr. Janche Sang Computer and Information Science EXPLORATION OF DYNAMIC WEB PAGE PARTITIONING FOR INCREASED WEB PAGE DELIVERY PERFORMANCE BRIAN KRUPP ABSTRACT The increasing use of the Internet and demand for real-time information has increased the amount of dynamic content generated residing in more complex distributed environments. The performance of delivering these web pages has been improved through more traditional techniques such as caching and newer techniques such as pre-fetching. In this research, we explore the dynamic partitioning of web page content using concurrent AJAX requests to improve web page delivery performance for resource intensive synchronous web content. The focus is more on enterprise web applications that exist in an environment such that a page’s data and processing is not local to one web server, rather requests are made from the page to other systems such as database, web services, and legacy systems. From these types of environments, the dynamic partitioning method can make the most performance gains by allowing the web server to run requests for partitions of a page in parallel while other systems return requested data. This differentiates from traditional uses of AJAX where traditionally iii AJAX is used for a richer user experience making a web application appear to be a desktop application on the user’s machine. Often these AJAX requests are also initiated by a user action such as a mouse click, key press, or used to check the server periodically for updates. In this research we studied the performance of a manually partitioned page and built a dynamic parser to perform dynamic partitioning and analyzed the performance results of two types of applications, one where most processing is local and another where processing is dependent on other systems such as database, web services and legacy systems. The results presented show that there are definite performance gains in using a partitioning scheme in a web page to deliver the web page faster to the user. iv TABLE OF CONTENTS CHAPTER I INTRODUCTION ...................................................................................................................... 1 CHAPTER II RELATED WORK ..................................................................................................................... 3 CHAPTER III RESEARCH ENVIRONMENT .................................................................................................... 5 LINUX APACHE MYSQL PHP (LAMP) ................................................................................................................ 5 Linux ....................................................................................................................................................... 6 Apache ................................................................................................................................................... 6 MySQL .................................................................................................................................................... 6 PHP ......................................................................................................................................................... 6 PERL ............................................................................................................................................................. 7 AJAX ............................................................................................................................................................ 7 Traditional Approach ............................................................................................................................. 8 Sequential AJAX ..................................................................................................................................... 8 Concurrent AJAX................................................................................................................................... 10 SUMMARY OF RESEARCH ENVIRONMENT............................................................................................................ 11 CHAPTER IV TESTING CONCURRENT AJAX SUPPORT IN MAJOR BROWSERS ........................................... 12 MOZILLA FIREFOX 3.6 .................................................................................................................................... 12 INTERNET EXPLORER 8.0 ................................................................................................................................. 13 GOOGLE CHROME 5.0 .................................................................................................................................... 14 APPLE SAFARI 4.0.......................................................................................................................................... 14 APPLE SAFARI 5.0.......................................................................................................................................... 15 VERIFICATION ............................................................................................................................................... 15 CONCLUSION OF TESTING CONCURRENT CONNECTIONS ........................................................................................ 17 CHAPTER V TESTING ORDER OF CONCURRENT BROWSER REQUESTS ..................................................... 18 TESTING METHOD ......................................................................................................................................... 18 TESTING RESULTS .......................................................................................................................................... 19 CONSIDERATIONS .......................................................................................................................................... 20 CHAPTER VI MANUAL PARTITION OF AN EXAMPLE PAGE ...................................................................... 21 APPROACH ................................................................................................................................................... 21 SEPARATE FILE APPROACH............................................................................................................................... 23 SEPARATE METHOD APPROACH........................................................................................................................ 24 PARSING THE PAGE ........................................................................................................................................ 25 TESTING ....................................................................................................................................................... 28 RESULTS ...................................................................................................................................................... 30 CONSIDERATIONS .......................................................................................................................................... 31 CHAPTER VII LOAD TESTING (WHERE IS THE BOTTLENECK?) ................................................................... 32 v TESTING APPROACH ....................................................................................................................................... 32 PRE-PARTITIONED LOAD TEST .......................................................................................................................... 33 Schedule ............................................................................................................................................... 33 CollectD Results .................................................................................................................................... 33 Memory Test Results ............................................................................................................................ 35 POST-PARTITIONED LOAD TEST ........................................................................................................................ 36 Schedule ............................................................................................................................................... 36 CollectD Results .................................................................................................................................... 36 Memtest Results .................................................................................................................................. 37 CONCLUSION AND COMPARISON OF TESTING .....................................................................................................
Recommended publications
  • Dynamic Web Pages with the Embedded Web Server
    Dynamic Web Pages With The Embedded Web Server The Digi-Geek’s AJAX Workbook (NET+OS, XML, & JavaScript) Version 1.0 5/4/2011 Page 1 Copyright Digi International, 2011 Table of Contents Chapter 1 - How to Use this Guide ............................................................................................................... 5 Prerequisites – If You Can Ping, You Can Use This Thing! ..................................................................... 5 Getting Help with TCP/IP and Wi-Fi Setup ............................................................................................ 5 The Study Guide or the Short Cut? ....................................................................................................... 5 C Code ................................................................................................................................................... 6 HTML Code ............................................................................................................................................ 6 XML File ................................................................................................................................................. 6 Provide us with Your Feedback ............................................................................................................. 6 Chapter 2 - The Server-Client Relationship ................................................................................................... 7 Example – An Analogy for a Normal HTML page .................................................................................
    [Show full text]
  • Effects and Opportunities of Native Code Extensions For
    Effects and Opportunities of Native Code Extensions for Computationally Demanding Web Applications DISSERTATION zur Erlangung des akademischen Grades Dr. Phil. im Fach Bibliotheks- und Informationswissenschaft eingereicht an der Philosophischen Fakultät I Humboldt-Universität zu Berlin von Dipl. Inform. Dennis Jarosch Präsident der Humboldt-Universität zu Berlin: Prof. Dr. Jan-Hendrik Olbertz Dekan der Philosophischen Fakultät I: Prof. Michael Seadle, Ph.D. Gutachter: 1. Prof. Dr. Robert Funk 2. Prof. Michael Seadle, Ph.D. eingereicht am: 28.10.2011 Tag der mündlichen Prüfung: 16.12.2011 Abstract The World Wide Web is amidst a transition from interactive websites to web applications. An increasing number of users perform their daily computing tasks entirely within the web browser — turning the Web into an important platform for application development. The Web as a platform, however, lacks the computational performance of native applications. This problem has motivated the inception of Microsoft Xax and Google Native Client (NaCl), two independent projects that fa- cilitate the development of native web applications. Native web applications allow the extension of conventional web applications with compiled native code, while maintaining operating system portability. This dissertation determines the bene- fits and drawbacks of native web applications. It also addresses the question how the performance of JavaScript web applications compares to that of native appli- cations and native web applications. Four application benchmarks are introduced that focus on different performance aspects: number crunching (serial and parallel), 3D graphics performance, and data processing. A performance analysis is under- taken in order to determine and compare the performance characteristics of native C applications, JavaScript web applications, and NaCl native web applications.
    [Show full text]
  • Observing the Clouds: a Survey and Taxonomy of Cloud Monitoring Jonathan Stuart Ward† and Adam Barker*†
    Ward and Barker Journal of Cloud Computing: Advances, Systems and Applications (2014) 3:24 DOI 10.1186/s13677-014-0024-2 RESEARCH Open Access Observing the clouds: a survey and taxonomy of cloud monitoring Jonathan Stuart Ward† and Adam Barker*† Abstract Monitoring is an important aspect of designing and maintaining large-scale systems. Cloud computing presents a unique set of challenges to monitoring including: on-demand infrastructure, unprecedented scalability, rapid elasticity and performance uncertainty. There are a wide range of monitoring tools originating from cluster and high-performance computing, grid computing and enterprise computing, as well as a series of newer bespoke tools, which have been designed exclusively for cloud monitoring. These tools express a number of common elements and designs, which address the demands of cloud monitoring to various degrees. This paper performs an exhaustive survey of contemporary monitoring tools from which we derive a taxonomy, which examines how effectively existing tools and designs meet the challenges of cloud monitoring. We conclude by examining the socio-technical aspects of monitoring, and investigate the engineering challenges and practices behind implementing monitoring strategies for cloud computing. Keywords: Cloud computing; Monitoring Introduction most accepted description of the general properties of Monitoring large-scale distributed systems is challeng- cloud computing comes from the US based National Insti- ing and plays a crucial role in virtually every aspect of tution of Standards and Technology (NIST) and other a software orientated organisation. It requires substantial contributors [3,4]: engineering effort to identify pertinent information and to • obtain, store and process that information in order for it On-demand self service: A consumer is able to to become useful.
    [Show full text]
  • AJAX and Jquery L Raw AJAX Handling in JS Is Very Tedious L Jquery Provides Flexible and Strong Support to Handle AJAX Interactions Through a Set of Jquery Functions
    AJAX Asynchronous Design in Web Apps IT 4403 Advanced Web and Mobile Applications Jack G. Zheng Fall 2019 Topics l AJAX concepts and technical elements l AJAX implications and impacts l jQuery AJAX l Basic and shorthand methods l Error handling 2 AJAX l AJAX (Asynchronous JavaScript and XML) is a group of interrelated web development techniques used on the client-side to create interactive web applications. l Despite the name, the use of XML is not actually required, nor do the requests need to be asynchronous. 3 First Impression l https://www.google.com Use Chrome’s developer tools to view network communications while typing the search terms. A set of requests have been made to get JSON data from the server as I type in the search term box. Observe the “q” parameter in all URLs. 4 AJAX Model Difference With Ajax, web applications can communicate with servers in the background without a complete page loading after every request/response cycle. http://www.adaptivepath.com /ideas/ajax-new-approach- web-applications/ 5 Traditional Model The client does not generate views/presentations (HTML/CSS). Synchronous communications feature sequential request/response cycles, one after another The server prepares the whole page. http://www.websiteoptimization.com/secrets/ajax/8-1-ajax-pattern.html 6 Ajax Model l With Ajax, web applications can communicate with servers in the background without a complete page loading after every request/response cycle. The client generates views/presentations and update content (partial page) by manipulating DOM. Asynchronous communications feature independent request/response cycles The server prepares partial pages (partial HTML) or just data (XML or JSON).
    [Show full text]
  • EMERGING TECHNOLOGIES Dymamic Web Page Creation
    Language Learning & Technology January 1998, Volume 1, Number 2 http://llt.msu.edu/vol1num2/emerging/ pp. 9-15 (page numbers in PDF differ and should not be used for reference) EMERGING TECHNOLOGIES Dymamic Web Page Creation Robert Godwin-Jones Virginia Comonwealth University Contents: • Plug-ins and Applets • JavaScript • Dynamic HTML and Style Sheets • Instructional Uses • Resource List While remaining a powerful repository of information, the Web is being transformed into a medium for creating truly interactive learning environments, leading toward a convergence of Internet connectivity with the functionality of traditional multimedia authoring tools like HyperCard, Toolbook, and Authorware. Certainly it is not fully interactive yet, but that is undeniably the trend as manifested in the latest (version 4) Web browsers. "Dynamic HTML," incorporated into the new browsers, joins plug-ins, Web forms, Java applets, and JavaScript as options for Web interactivity. Plug-ins and Applets While Web pages are beginning to behave more like interactive applications, traditional authoring tools are themselves becoming Internet-savvy, primarily through the use of "plug-in" versions of players which integrate with Web browsers. The most commonly used plug-in today is Macromedia's "Shockwave," used to Web-enable such applications as Director, Authorware, and Flash. "Shocked" Web pages can be very interactive and provide a visually appealing means of interacting with users (as in some sample ESL exercises from Jim Duber). Plug-ins are easy to use -- they just need to be downloaded and installed. Some come bundled with Netscape and Microsoft's browsers, which simplifies considerably the installation process (and gives developers the confidence that most users will actually have the plug-in installed).
    [Show full text]
  • How We Build Web Applications
    Whitepaper How We Build Web Applications Whitepaper 1 BuildableWorks.com Table of Contents About Buildable ............................................................................................ 3 Web Application Architecture ................................................................. 4 Our Process .................................................................................................. 6 Application Architecture Guidelines ............................................... 8 Management ......................................................................................... 8 Anatomy of a Web App .............................................................................. 10 User Experience Design ...................................................................... 10 Application Build and Deployment .................................................... 14 Frontend Tools ...................................................................................... 15 Backend Tools ........................................................................................ 20 Authentication and Security ............................................................. 22 Whitepaper 2 BuildableWorks.com About Buildable Our nimble, versatile team of full-stack engineers, creatives, and developers come to work every day with the knowledge we’re making the stuff that will change our clients’ work lives for the better. It’s why we attract and keep some of the best technical talent in the industry, and it’s how we deliver the highest quality
    [Show full text]
  • Lecture 6: Dynamic Web Pages Lecture 6: Dynamic Web Pages Mechanics • Project Preferences Due • Assignment 1 out • Prelab for Next Week Is Non-Trivial
    Lecture 6: Dynamic Web Pages Lecture 6: Dynamic Web Pages Mechanics • Project preferences due • Assignment 1 out • PreLab for next week is non-trivial 1/31/2020 2 Lecture 5: JavaScript JavaScript has its Quirks • Procedural, Functional and Object-Oriented all at once • Objects are very different from Java/C++ o Newer versions have Java-like classes however • Scoping is different o var versus let or const o Declarations can follow uses o Declarations are optional • Automatic type conversion • Strict versus non-strict equality testing • eval function • Semicolons are optional if unambiguous • Read up on the language (prelab) 1/31/2020 3 Lecture 6: Dynamic Web Pages What is an Interactive Application • How do we want to use JavaScript • What does interactive mean • What does it do when you interact o Check inputs, compute next page o Change the page without getting a new page 1/30/2020 4 Lecture 6: Dynamic Web Pages Dynamic Web Page Examples • http://bdognom.cs.brown.edu:5000/ (spheree) • http://conifer.cs.brown.edu/s6 (s6) • http://conifer.cs.brown.edu:8888 (twitter) • http://fred4.cs.brown.edu:8800/ (sign) 1/23/2020 5 Lecture 6: Dynamic Web Pages Interactive Applications • Respond to user inputs • Change the display (e.g. add fields, show errors, …) • Dynamically check and verify inputs • Allow direct manipulation (drag and drop) • Use animation to highlight or emphasize or show things • Display external changes in real time • Provide input help (e.g. text completion) • Handle dynamic resizing of the display 1/23/2020 6 Lecture 6: Dynamic Web Pages Achieving Interactivity • Using CSS • Handling HTML events using JavaScript o Dynamically check and verify inputs o Handle direct manipulation • With modern HTML features • With animation/drawing/multimedia packages • By talking to the server continually • Displaying external changes in real time • Changing styles and the content of the page o Change the display (e.g.
    [Show full text]
  • Advanced Web Design
    Implementation Date Fall 2008 PROGRAM CONCENTRATION Business & Computer Science CAREER PATHWAY: Interactive Media COURSE TITLE: Advanced Web Design The goal of this course is to provide students with the study of advanced topics in web design. Computer in the Modern World and Beginning Web Design are both prerequisites for this course. Upon completion of this course, students should have a thorough knowledge of all areas of web page design. Topics include the web development process, advanced layout and design features, advanced study of scripting languages, site development with HTML editors, and web servers and databases. This course also prepares students to take the CIW Associate Design Specialist Certification. OVERVIEW OF WEB DESIGN BCS-AWD-1. Students will explore web design concepts, the current state of the web, and technologies used on the web. a. Identify, evaluate, compare, and contrast web browsers. b. Identify and describe plug-ins, applets and other web based utilities. Academic Standards: ELA12W3. The student uses research and technology to support writing. ELA12RC3. The student acquires new vocabulary in each content area and uses it correctly. BCS-AWD-2. Students will examine ethical and legal issues related to web development. a. Discuss and develop strategies for handling privacy issues. b. Distinguish between legal and ethical issues. 1. Discuss appropriate and inappropriate content on sites such as Facebook and My Space. c. Describe security issues associated with web servers. Academic Standards: ELA12LSV1. The student participates in student-to-teacher, student-to-student, and group verbal interactions. ELA12RC2. The student participates in discussions related to curricular learning in all subject areas.
    [Show full text]
  • Munin Documentation Release 2.999.10-Detached-2018-12-16-C13-G47debb5
    Munin Documentation Release 2.999.10-detached-2018-12-16-c13-g47debb5 The Munin project and its contributors Dec 16, 2018 Contents 1 Preface 3 1.1 What is Munin ?...........................................3 1.2 Conventions.............................................3 1.3 Further Information.........................................3 1.4 Bug Reporting Guidelines......................................6 1.5 Documenting Munin.........................................7 2 Tutorial 11 2.1 Getting Started............................................ 11 2.2 Wildcard Plugins........................................... 13 2.3 Using SNMP plugins......................................... 14 2.4 Let Munin croak alarm........................................ 15 2.5 Munin and Nagios.......................................... 20 2.6 Advanced Features.......................................... 24 2.7 Extraordinary Usage......................................... 25 2.8 Monitoring the “unreachable” hosts................................. 25 2.9 Troubleshooting........................................... 28 3 Munin’s Architecture 35 3.1 Overview............................................... 35 3.2 Components............................................. 36 3.3 Protocols............................................... 60 3.4 Syntax................................................ 62 3.5 API.................................................. 64 4 Munin Installation 65 4.1 Prerequisites............................................. 65 4.2 Installing Munin..........................................
    [Show full text]
  • Virtual Geographic World: the Web-Based 3D Kyong-Ho Kim
    Transactions on Information and Communications Technologies vol 18, © 1998 WIT Press, www.witpress.com, ISSN 1743-3517 Virtual geographic world: the web-based 3D CIS Kyong-Ho Kim, Kiwon Lee, Ho-Geun Lee: & Young- Lyol Ha GIS Lab. Image Processing Dept. Systems Engineering Research Institute, Yusung, Taejon, 305-600, S.Korea Email: {khkim, kilee, hglee,ylha} @seri. re. kr Abstract To design and implement web-based 3D GIS, the strategic linkage of Java and VRML is first regarded: 3D feature format definition in the passion of conventional GIS including aspatial attributes, 3D feature indexing, 3D analytical operations such as selection, buffering, and near, metric operation such as distance measurement and statistical description, and 3D visualization. In 3D feature format definition, the following aspects are considered: aspatial attributes, spatial information for 3D primitives, multimedia data, visualization information for VRML specification. "Lantern operator" is newly introduced in this 3D GIS. Because this system is implemented by Java applet, any client with Java-enable browser including VRML browser plug-in can utilize the new style of 3D GIS function in the virtual space. 1 Introduction The integration of virtual environment and GIS has been initiated]!]. Since the mid 1990s, 3D GIS on World Wide Web(WWW)[2] has been regarded as one of promising alternatives in the GIS field mainly due to cost-effectiveness and wide accessibility. In this newly emerging approach, Virtual Reality Modeling Language(VRML)[3] shows several Transactions on Information and Communications Technologies vol 18, © 1998 WIT Press, www.witpress.com, ISSN 1743-3517 344 GIS Technologies and their Environmental Applications linked aspects with 3D GIS under Internet environment^].
    [Show full text]
  • Performance-Analyse in Großen Umgebungen Mit Collectd
    Performance-Analyse in großen Umgebungen mit collectd Performance-Analyse in großen Umgebungen mit collectd Sebastian tokkee\ Harl " <[email protected]> FrOSCon 2009 2009-08-22 Performance-Analyse in großen Umgebungen mit collectd Was ist collectd? Gliederung Was ist collectd? Wichtige Eigenschaften Wichtige Plugins Eigene Erweiterungen Uber¨ den Tellerrand Performance-Analyse in großen Umgebungen mit collectd Was ist collectd? Was ist collectd? I collectd sammelt Leistungsdaten von Rechnern I Leistungsdaten sind zum Beispiel: I CPU-Auslastung I Speichernutzung I Netzwerkverkehr I Daten werden erhoben, verarbeitet und gespeichert I H¨aufig: Darstellung als Graphen I Nicht verwechseln mit Monitoring! Performance-Analyse in großen Umgebungen mit collectd Was ist collectd? Kontakt I Homepage: http://collectd.org/ I Mailinglist: [email protected] I IRC: #collectd auf irc.freenode.net Web 2.0\: http://identi.ca/collectd I " Performance-Analyse in großen Umgebungen mit collectd Was ist collectd? Wichtige Eigenschaften Wichtige Eigenschaften I Daemon I Freie Software (gr¨oßtenteils GPLv2) I Portierbar (Linux, *BSD, Solaris, . ) I Skalierbar (OpenWrt, . , Cluster / Cloud) I Effizient (Default-Aufl¨osung: 10 Sekunden) I Modular (Uber¨ 70 Plugins) Performance-Analyse in großen Umgebungen mit collectd Was ist collectd? Wichtige Eigenschaften Wichtige Eigenschaften I Daemon I Freie Software (gr¨oßtenteils GPLv2) I Portierbar (Linux, *BSD, Solaris, . ) I Skalierbar (OpenWrt, . , Cluster / Cloud) I Effizient (Default-Aufl¨osung: 10 Sekunden) I Modular (Uber¨ 70 Plugins) Performance-Analyse in großen Umgebungen mit collectd Was ist collectd? Wichtige Eigenschaften Wichtige Eigenschaften: 10-Sekunden-Aufl¨osung Performance-Analyse in großen Umgebungen mit collectd Was ist collectd? Wichtige Eigenschaften Wichtige Eigenschaften I Daemon I Freie Software (gr¨oßtenteils GPLv2) I Portierbar (Linux, *BSD, Solaris, .
    [Show full text]
  • Ubuntunet-Connect 2013
    UbuntuNet-Connect 2013 Transforming Education and Research Proceedings and Report of the 6th UbuntuNet Alliance Annual Conference 14 - 15 November 2013 Lemigo Hotel, Kigali, Rwanda Sponsors: .. ISSN 2223-7062 1 Proceedings Editors: Tiwonge Msulira Banda, Margaret E Ngwira and Rose Chisowa UbuntuNet Alliance Secretariat P.O. Box 2550 Lilongwe, Malawi Lilongwe, Malawi: UbuntuNet Alliance, 2013 www.ubuntunet.net i ISSN 2223-7062 Key title: Proceedings and report of the 6th UbuntuNet Alliance annual conference Abbreviated key title: Proc. rep. 6th UbuntuNet Alliance annu. conf. ii ACKNOWLEDGEMENTS UbuntuNet-Connect is made possible through the various roles that different people and organizations play. We would like to thank each one of them for their support. We wish to acknowledge with gratitude the work of the UbuntuNet-Connect reviewers who year by year give prompt feedback and ensure that the quality of accepted abstracts continues to rise. We also acknowledge the many people who submitted abstracts for the conference. Competition was tight in 2013 but if your abstract was not accepted this year, we encourage you to submit another abstract next year. The contribution of the Rwanda Ministry of Education and the Rwanda Development Board was ongoing and essential and is acknowledged with great appreciation. The Network Startup Resource Centre (NSRC) whose sponsorship funded the participation of the African presenters played a great role in the success of the conference To our Diamond Sponsors: XON; Gold Sponsors: AfricaConnect, NSRC, Liquid Telecomm and Government of Rwanda; Silver Sponsor: WIOCC; and Bronze Sponsors : Optelian, BSC (Broadband Systems Corporation ) and KBC (Kigali Bus Company), we thank you warmly for this investment in the future and request that you continue supporting UbuntuNet-Connect.
    [Show full text]