180 likes | 448 Views
Web Performance Metrics. Outline. Web Performance Metrics Architectures: Thin & Fat Clients Successful web applications? Scalability Performance Load balancing server Measuring Performance & Scalability Benchmarking, Throughput & Cost Course Summary. Web Performance.
E N D
Outline • Web Performance Metrics • Architectures: Thin & Fat Clients • Successful web applications? • Scalability • Performance • Load balancing server • Measuring Performance & Scalability • Benchmarking, Throughput & Cost • Course Summary
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
Web Performance Metrics • Web Performance Metrics: • WWW user perception: • fast response time • no connection refused • Web administrators: • highthroughput • high availability Need for quantitative measurements: • Response time • Throughput
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
Throughput • 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: • (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 • Image throughput (Kbps) • 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 • Total throughput • 131.25 + 436.72 + 857.42 = 1,425.39 Kbps
Response Time • 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.
virtual car dealership clients Web server Internet • Database: • vehicle description • price • picture Response Time
Response Time • Web server request types: • retrieve document and images • search the DB according to make, model, price range, and distance of dealer from buyer. • purchase request. • Critical request: search • 5% of searches generate a car sale • Average sale generates $18,000 in revenues. • Service Level Considerations:
Current Current + 10% Current+20% Current+30% Searches per day 92,448 101,693 110,938 120,182 Response Time 2.86 3.80 5.67 11.28 Percent Sales Lost 0 0 60% 95% Sales per day 4622 5085 2219 300 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) $ 59,906 $ 102,756 $ - $ 0 Response Time • 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?
Fat Client & Thin Client • Interface • Users can access the web application via web browsers. • Different browser-dependent technologies • 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 • Provide reliable, secure access to the data • E.g. the ticket of a ticket reservation system
Fat Client & Thin Client Fat Client Interface Business Logic Data Management Thin Client Interface Business Logic Data Management
Load Balancing Server Distribute requests over Multiple servers Requests
Linux Virtual Server • Provides a high availability service to Internet hosts • Shares the same file system • Load balancer becomes the single failure point of the system • http://www.linuxvirtualserver.org/
Performance Measures • Different stress test engines on the Web
Course Summary • In this course, we have discussed many web programming techniques: • Markup language • HTML, XHTML, XML • Client side programming • JavaScript, how to use cookie, form validation • Advanced web design technologies • Scalability & Performance issues