120 likes | 130 Views
Explore the four dimensions of performance in e-commerce, including CPU usage, disk I/O, memory usage, and network usage. Learn about DNS and application load balancing, proxy servers, and scalability options.
E N D
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?) For comparison:
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
No Affinity Client IP Affinity Request Forwarding Multiple Web Farms State And Server Affinity
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)
Scalability Stateless (vs Stateful systems) Application Level Load Balancers (vs. Network level)
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