Presentation is loading. Please wait.

Presentation is loading. Please wait.

Advanced Topics INE2720 Web Application Software Development Essential Materials.

Similar presentations


Presentation on theme: "Advanced Topics INE2720 Web Application Software Development Essential Materials."— Presentation transcript:

1 Advanced Topics INE2720 Web Application Software Development Essential Materials

2 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.2 Outline Web Performance Metrics Web Performance Metrics Architectures: Thin & Fat Clients Architectures: Thin & Fat Clients Successful web applications? Successful web applications? –Scalability –Performance Load balancing server Load balancing server Measuring Performance & Scalability Measuring Performance & Scalability –Benchmarking, Throughput & Cost Course Summary Course Summary

3 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.3 Web Performance What are people saying about Web performance … What are people saying about Web performance … –“ Tripod ’ s Web site is our business. If it ’ s not fast and reliable, there goes our business. ”, Don Zereski, Tripod ’ s vice-president of Technology (Internet World) –“ Sites have been concentrating on the right content. Now, more of them -- specially e-commerce sites -- realize that performance is crucial in attracting and retaining online customers. ” Gene Shklar, Keynote The New York Times, 8/8/98

4 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.4 Web Performance Metrics Web Performance Metrics: Web Performance Metrics: –WWW user perception: fast response time fast response time no connection refused no connection refused –Web administrators: high throughput high throughput high availability high availability Need for quantitative measurements: –Response time –Throughput

5 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.5 Throughput Example: The Web site of a travel agency was monitored for 30 minutes and 9,000 HTTP requests were counted. We want to assess the server throughput. 3 types of Web objects –HTML pages: 30% and avg. size of 11,200 bytes –images: 65% and avg. size of 17,200 bytes –video clips: 5% and avg. size of 439,000 bytes

6 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.6 Throughput in terms of requests: in terms of requests: –(No. of requests)/(period of time) = 9,000/(30 x 60) = 5 requests/sec in terms of bits/sec per class: in terms of bits/sec per class: –(total requests x class % x avg. size) / (period of time) –HTML throughput (Kbps) 9,000 x 0.30 x (11,200 x 8) / 1,800 = 131.25 9,000 x 0.30 x (11,200 x 8) / 1,800 = 131.25 –Image throughput (Kbps) 9,000 x 0.65 x (17,200 x 8) / 1,800 = 436.72 9,000 x 0.65 x (17,200 x 8) / 1,800 = 436.72 –Video throughput (Kbps) 9,000 x 0.05 x (439,000 x 8) / 1,800 = 857.42 9,000 x 0.05 x (439,000 x 8) / 1,800 = 857.42 –Total throughput 131.25 + 436.72 + 857.42 = 1,425.39 Kbps 131.25 + 436.72 + 857.42 = 1,425.39 Kbps

7 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.7 Response Time Example: Virtual car dealership Example: Virtual car dealership –users search and submit purchase requests for new and used cars on the Web. –1,300 affiliated car dealers provide info about vehicles on their parking lots. –new agreements will be phased in gradually, increasing the Web server ’ s traffic by 10%, then 20%, and finally 30% w.r.t. to current load.

8 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.8 Response Time Internet clients Web server Database: vehicle description price picture virtual car dealership

9 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.9 Response Time –Web server request types: retrieve document and images retrieve document and images search the DB according to make, model, price range, and distance of dealer from buyer. search the DB according to make, model, price range, and distance of dealer from buyer. purchase request. purchase request. –Critical request: search –5% of searches generate a car sale –Average sale generates $18,000 in revenues. –Service Level Considerations:

10 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.10 Response Time Management questions: Management questions: –will the Web server support the load increase while preserving the response time below 4 sec? –if not, at which point will its capacity be saturated? –how much money could be lost daily if the Web server saturates when the load increases? CurrentCurrent + 10%Current+20%Current+30% Searches per day 92,448 101,693 110,938 120,182 Response Time 2.863.805.6711.28 Percent Sales Lost 0060%95% Sales per day 462250852219300 Daily revenue ($1K) 83,203$ 91,524$ 39,938$ 5,408$ Potential daily revenue ($1K) 83,203$ 91,524$ 99,844$ 108,164$ Lost daily revenue ($1K) -$ 0$ 59,906$ 102,756$

11 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.11 Interface Interface –Users can access the web application via web browsers. –Different browser-dependent technologies Business Logic Business Logic –A set of operations required to provide the services for the client. E.g. transfer funds from one bank account to another one. Data Management Data Management –Provide reliable, secure access to the data –E.g. the ticket of a ticket reservation system Fat Client & Thin Client

12 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.12 Fat Client & Thin Client Interface Business Logic Data Management Interface Business Logic Data Management Fat Client Thin Client

13 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.13 Load Balancing Server Distribute requests over Multiple servers Requests

14 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.14 Linux Virtual Server Provides a high availability service to Internet hosts Provides a high availability service to Internet hosts Shares the same file system Shares the same file system Load balancer becomes the single failure point of the system Load balancer becomes the single failure point of the system http://www.linuxvirtualserver.org/ http://www.linuxvirtualserver.org/

15 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.15 Performance Measures Different stress test engines on the Web Different stress test engines on the Web

16 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.16 Course Summary In this course, we have discussed many latest web programming techniques: In this course, we have discussed many latest web programming techniques: –Markup language HTML, XHTML, XML HTML, XHTML, XML –Client side programming JavaScript, how to use cookie, form validation JavaScript, how to use cookie, form validation –Java OO programming Support both client & server slide programming Support both client & server slide programming Instance variable (field)? Class variable (field)? Instance variable (field)? Class variable (field)? Java Applet & AWT/Swing GUI designs Java Applet & AWT/Swing GUI designs

17 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.17 Course Summary Continue web programming techniques: Continue web programming techniques: –Server side programming The importance of using Servlet The importance of using Servlet Why we need to use JSP instead of Servlet? Why we need to use JSP instead of Servlet? MVC design? Model 1 or Model 2 design? MVC design? Model 1 or Model 2 design? –Any other techniques? JavaBeans & JDBC JavaBeans & JDBC –Advanced web design technologies Scalability & Performance issues Scalability & Performance issues –Revisions

18 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.18 Materials cannot cover Since this is an introductory course, the following materials are unable to cover: Since this is an introductory course, the following materials are unable to cover: –Latest XML development –Enterprise JavaBeans (EJB) –J2EE technologies: JDNI, JTS, … –XSLT, Web services –Other web technologies: ASP, PHP If you want to know more about the latest web development, please surf: If you want to know more about the latest web development, please surf: –Web developer virtual library http://www.wdvl.com/ http://www.wdvl.com/

19 INE2720 – Web Application Software Development All copyrights reserved by C.C. Cheung 2003.19 References Building Scalable and High-Performance Java Web Applications: Using J2EE technology Building Scalable and High-Performance Java Web Applications: Using J2EE technology Course homepage Course homepage The End. The End. Thank you for patience! Thank you for patience! Hope you enjoy taking this course. Hope you enjoy taking this course.


Download ppt "Advanced Topics INE2720 Web Application Software Development Essential Materials."

Similar presentations


Ads by Google