Presentation is loading. Please wait.

Presentation is loading. Please wait.

Web Caching By Neeraj Agrawal. Caching Caching is widely used for improving performance in many context( e.g processor caches in hardware, buffer pool.

Similar presentations


Presentation on theme: "Web Caching By Neeraj Agrawal. Caching Caching is widely used for improving performance in many context( e.g processor caches in hardware, buffer pool."— Presentation transcript:

1 Web Caching By Neeraj Agrawal

2 Caching Caching is widely used for improving performance in many context( e.g processor caches in hardware, buffer pool in DBMS etc). Caching is widely used for improving performance in many context( e.g processor caches in hardware, buffer pool in DBMS etc). Where and what to cache in web context? Where and what to cache in web context? Many points and many kind of objects! Many points and many kind of objects! Focus is on Transactional/Database apps. Focus is on Transactional/Database apps.

3 What Where When and How Considerations for caching in web context are: What, when and where to cache What, when and where to cache Granularity of caching: web pages, fragments of pages, servlet execution result, SQL query results etc Granularity of caching: web pages, fragments of pages, servlet execution result, SQL query results etc Location of cache: client, proxy, edge of the net, internet service provider (ISP), edge of enterprise, application server (EJBs etc), web server, database server. Location of cache: client, proxy, edge of the net, internet service provider (ISP), edge of enterprise, application server (EJBs etc), web server, database server.

4 What Where When and How Caching and Invalidating policies: Pull vs Push, freshness maintenance, triggers. Caching and Invalidating policies: Pull vs Push, freshness maintenance, triggers. Related DB Technologies: Related DB Technologies: Replication Replication Materialized views Materialized views Mediator systems Mediator systems Buffer management. Buffer management.

5 Common Points of Caching Browser Browser Proxy (Forward proxy cache) Proxy (Forward proxy cache) Enterprise/ISP Edge Servers Enterprise/ISP Edge Servers Web Server Web Server Application Server Application Server Databases Databases

6 Cache Models Front End Cache Front End Cache Caches data + markup Caches data + markup Cache can be app independent Cache can be app independent Static pages easily cached Static pages easily cached Data Cache Data Cache Cache Data Cache Data Effectiveness depends on app design Effectiveness depends on app design

7 Cache Models Distributed Applications Distributed Applications Multiple copies distributed around net Multiple copies distributed around net Turns caching into content management problem. Turns caching into content management problem.

8 HTTP Caching Today Multiple cache between browser and server Multiple cache between browser and server HTTP header control HTTP header control Whether a page can be cached Whether a page can be cached Cache expiration time. Cache expiration time. Full pages and images can be cached. Full pages and images can be cached. Unable to cache html fragments Unable to cache html fragments

9 Dynamically Generated Pages Increased due to Increased due to Database centric e-commerce application Database centric e-commerce application Frequently update contents Frequently update contents Personalization Personalization Proxy caching is ineffective for such pages Proxy caching is ineffective for such pages

10 Caching Data-intensive Web Sites Relies on the declarative spec of web sites Relies on the declarative spec of web sites Data content is extracted from DBMS Data content is extracted from DBMS Website structure and content is separate from graphical representation XSLT. Website structure and content is separate from graphical representation XSLT. The mapping between raw data and logical model of web is described by declarative language (WeaveL) The mapping between raw data and logical model of web is described by declarative language (WeaveL) HTML page is generated from XML and XSLT HTML page is generated from XML and XSLT

11 Materialization Strategies What kind of data must be materialized? What kind of data must be materialized? When must materialization must be performed? When must materialization must be performed? Where should the materialized intermediate result must be placed for effective performance improvements? Where should the materialized intermediate result must be placed for effective performance improvements? How are updates are propagated to the materialized data? How are updates are propagated to the materialized data? Which particular data must be materialized and which must be computed upon request? Which particular data must be materialized and which must be computed upon request?

12 Approaches Materialization (HTML) Materialization (HTML) Good response time Good response time High space overhead High space overhead Propagating update to materialization difficult Propagating update to materialization difficult Not always possible (forms) Not always possible (forms) Materialization granularity is not always appropriate Materialization granularity is not always appropriate

13 Approaches Cache DBMS query results Cache DBMS query results Significant performance improvement Significant performance improvement Simple update propagation Simple update propagation Granularity Granularity Cache intermediate XML Cache intermediate XML Complex update propagation Complex update propagation Granularity Granularity Eliminate cost of database connection Eliminate cost of database connection

14 WeaveL

15 XML Fragment

16 Weave Web Site Management System

17 Runtime Policies

18 Conclusion Results Results Better performance with mixed caching Better performance with mixed caching


Download ppt "Web Caching By Neeraj Agrawal. Caching Caching is widely used for improving performance in many context( e.g processor caches in hardware, buffer pool."

Similar presentations


Ads by Google