120 likes | 239 Vues
This lecture focuses on the critical performance parameters in E-Commerce applications, such as CPU usage, memory usage, disk I/O, and network utilization. It highlights how each can act as a bottleneck, affecting application performance and costs. Different architectural strategies like concentrated vs. distributed systems, DNS load balancing, and application load balancing are discussed to compare their effects under high load conditions. Additionally, this session explores the use of proxy servers and caching techniques to enhance web performance, security, and user experience.
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