CSE 190: Internet E-Commerce Lecture 16: Performance Performance Parameters • Four dimensions of performance – CPU Usage • Issue for app server, DB – Disk I/O • Issue for DB, video streaming – Memory Usage – Network Usage • Reflected in cost • Each may be a bottleneck depending on the application Network Speeds (What do all these names mean?) Connection Type Speed T-1 1.544 Mbps (24 voice channels) ~$1k/m T-3 44.7 Mbps (30 T-1s) ~$20k/m OC-1 51.8 Mbps (SONET standard) OC-3 155 Mbps ~50k/mo OC-192 9.95 Gbps For comparison: Connection Type Speed Analog POTS modem 300 bps – 56.7 kbps Cable modem Upstream: 320 Kbps – 10 Mbps Downstream: 30 – 42 Mbps ADSL (Asymmetric Digital Subscriber Line) Upstream: 64 kbps – 1.5 Mbps Downstream: 768 kbps – 9 Mbps ~$40-120/m Ethernet 10-BaseT 10 Mbps Ethernet 100BaseT 100 Mbps Effect of Architecture • Small # of servers (Concentrated) – Availability under high load – Vulnerability to attack – Cost/unit performance is lower • Distributed architecture – DNS load balancing – Application load balancing – Capacity upgrades require smaller investment DNS Load Balancing • DNS Load Balancing – When address of web server is resolved, it may return any of N IP addresses associated with it – Yahoo Example • Reference: Figure 7.2, page 188, “Web Servers” by Benay Dara et al. • HTTP Requests distributed over a farm of servers. • Content mirrored at each server • Server A gets first request, server B gets second, server C gets third, etc. Application Load Balancing • HTTP Requests sent to the least busy server • NOT distributed in a linear fashion • All servers kept equally busy • Reference: Figure 7.3, page 189, “Web Servers” by Benay Dara et al. • Bridge acts as virtual server to requesting browsers/clients. • More complex monitoring => may go awry State And Server Affinity No Affinity Client IP Affinity Request Forwarding Multiple Web Farms Proxy Servers • Proxy, cache, and mirror techniques: for improving web performance – reduce latency of access to most frequently accessed web documents – Reduce network bandwidth congestion – Increase security of electronic services • Proxies provide web gateway on private networks • Configurable within browser (e.g. in IE, Tools | Options | Connections) • Reference: Figure 7.4, page 189, “Web Servers” by Benay Dara et al. Proxy servers • • • • • Proxy servers run on Firewalls. Handle both incoming and outgoing web requests. Hide IP addresses of requesting clients Handle NAT – Network address translation Advantages: – Access control of web sites by employees of an organization. – Selective blocking of protocols such ftp. – Cache relayed responses for performance. • Cache problem: how current is the data • Products: – Apache with proxy configuration – MS ISA Server (previously MS Proxy Server) Scalability THE BIG CHOICE Distributed (e.g., Yahoo!, Google, Yodlee) vs. Concentrated (many e-commerce sites) Pros Cons Lower initial cost Complex deployment infrastructure Gradual ramp in cost Involved monitoring infrastructure Highly redundant 3rd party hosting expensive More amenable for LARGE systems Managing state across systems complex Scalability Stateless (vs Stateful systems) Pros Cons Highly redundant Lower performance Easier implementation in distributed Network level load balancers Application Level Load Balancers (vs. Network level) Pros Cons More closed loop load balancing Lower performance Can help manage stateful systems Higher cost Performance Elements of Performance Throughput (affecting scalability) Response Time (affecting user experience) Elements of Response Time HTML Rendering Network download speed Application processing time Database performance Queues (web server, application server, network level) Elements of Throughput Application processing time Database performance