Web Caching은 client가 멀리 있는 origin server까지 가지 않고 가까운 proxy server의 web caches 파일에 접근하여 원하는 파일을 받아오는 기술이다. 그림을 통해 과정을 알아보자.
위의 그림으로 알아보자. 클라이언트가 origin server까지 가려면 acces link(1.54 Mbps)와 public Internet을 지나야 한다. 그러나 가까운 곳에 proxy server를 두면 1Gbps의 LAN link만 지나면 되기 때문에 훨씬 향상된 response time을 제공받을 수 있다.
2. server의 traffic을 줄일 수 있다.
Web caches를 사용하면 client의 request가 모두 server로 가는 것이 아닌, proxy server로 분산되기 때문에, 그만큼 request에 대한 traffic을 아낄 수 있다. 만약 40%가 hit되어 origin server로 오지 않는다면, 40%만큼 traffic을 아낄 수 있는 것이다.
(가정)
avg object size : 100K bits
avg request rate (client -> origin server) : 15/sec
RTT (institutional router -> origin server) : 2 sec
access link rate : 1.54 Mbps
client에서 origin server까지 15개의 object를 request한다면 object size가 100K bits 이기 때문에 avg data rate는 15 100K bits = 1500K bits = 1.5Mbits 이다.
access link에서는 1.54Mbps가 주어져 있는데, 1.5Mbps를 보내고 있으니, bandwidth에 거의 꽉차게 보내고 있다. 이것은 queueing delay에서 배웠던 La/R (1 에 가까울수록 delay시간은 엄청나게 늘어난다는 사실을 보면, 1.5Mbps/1.54Mbps = 0.97... (1에 가깝다) 엄청난 delay가 발생할 것이다.)
위처럼 web caches를 사용하지 않는다면, total delay = Internet delay(RTT) (2sec) + access delay(엄청난 delay(1.5Mbps/1.54Mbps)) + LAN delay (1.5Mbps / 1Gbps)가 된다.
(가정)
avg object size : 100K bits
avg request rate (client -> origin server) : 15/sec
RTT (institutional router -> origin server) : 2 sec
access link rate : 1.54 Mbps
avg data rate : 1.5Mbps(100K * 10)
hit rate (request 데이터가 web cache(proxy server)에 있다면 hit이라고 한다) : 0.4
hit이 40%라면, access link를 통과하는 데이터는 원래 지나던 데이터의 60%만 지나면 된다. 그러므로 access delay는 1.5Mbps (0.6) / 1.54Mbps = 0.9Mbps / 1.54Mbps = 0.52... 이 되므로 delay가 훨씬 감소한다. Web caches를 사용한다면 total delay = internet delay(2s) 0.6 + access delay(약 0.52s) + LAN delay(0.9Mbps/1Gbps)가 된다.(web caches를 사용하면 훨씬 적은 delay를 가져올 수 있다.)
이욜 eom~~