Web Cache
Upcoming SlideShare
Loading in...5
×
 

Web Cache

on

  • 4,605 views

Prezentacja Mariusza Tonkowicza.

Prezentacja Mariusza Tonkowicza.

Statistics

Views

Total Views
4,605
Views on SlideShare
4,482
Embed Views
123

Actions

Likes
1
Downloads
29
Comments
0

2 Embeds 123

http://olcamp.pl 120
http://www.slideshare.net 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Web Cache Web Cache Presentation Transcript

  • WEB CACHE korzyść dla użytkowników, ratunek dla serwerów Mariusz Tonkowicz
  • Agenda
    • Czym jest cache?
    • Po co buforować?
    • Podstawowe techniki cachowania
    • Zastosowanie (Co? Kiedy?)
    • Test
    • Pytania, dyskusja
  • Czym jest cache? Jest to mechanizm polegający na pobieraniu danych ze źródła o dłuższym czasie dostępu (bądź niższej przepustowości) oraz przechowywaniu danych w pamięci o lepszych parametrach. Cache ma umożliwić szybszy dostęp do przechowywanych danych.
  • Po co buforować?
    • przyspieszenie wczytywania stron
    • redukcja obciążenia serwera (serwera www, serwera baz danych)
    • zmniejszenie generowanego transferu (obniżenie kosztów hostingu)
    • możliwość „obsłużenia” większej ilości użytkowników
  • Podstawowe techniki cachowania
    • cachowanie całych dokumentów HTML
    • cachowanie fragmentaryczne (blokowe)
    • cachowanie rezultatów zapytań do bazy
    • proxy (HTML+zdjęcia+CSS+JS)
  •  
  • Podstawowe techniki cachowania
    • cachowanie całych dokumentów HTML
    • cachowanie fragmentaryczne (blokowe)
    • cachowanie rezultatów zapytań do bazy
    • proxy (HTML+zdjęcia+CSS+JS)
  •  
  • Podstawowe techniki cachowania
    • cachowanie całych dokumentów HTML
    • cachowanie fragmentaryczne (blokowe)
    • cachowanie rezultatów zapytań do bazy
    • proxy (HTML+zdjecia+CSS+JS)
  •  
  • Co jeśli strona jest dynamiczna?
    • refreshing – odświerzanie cache po zmianach
    • TTL (time to live) – czas „życia” pliku cache
  • Po co? Pzecież baza to pliki…
    • Czas odczytu z bazy =
    • czas dostępu do plików +
    • czas operacji odczytu/łączenia +
    • czas operacji sortowania/grupowania +
    • czas operacji filtrowania, itp.
    • Czas odczytu z cache =
    • czas dostępu do plików 
    • Zyskujemy czas poświęcony na operacje!
    • Oszczędzamy moc potrzebną na ich przeprowadzenie!
  • Podstawowe techniki cachowania
    • cachowanie całych dokumentów HTML
    • cachowanie fragmentaryczne (blokowe)
    • cachowanie rezultatów zapytań do bazy
    • proxy (HTML+zdjecia+CSS+JS)
  •  
  • Zastosowanie (Co? Kiedy?)
    • SQL
    • wszelkie zapytania typu SELECT powtarzające się przy każdym odświeżeniu strony
    • strony HTML
    • często odwiedzane podstrony z rzadko aktualizowaną treścią
    • wyjątkowo zasobożerne podstrony
    • fragmenty stron
    • jeśli nie ma możliwości cachowania całej strony
    • statyczne elementy stron (menu, stopka, itp.)
    • Nie cachujemy zdjęć, css, js itp. !!!
  • Przecież mieliśmy korzystać z pamięci o lepszych parametrach? Co za różnica?
    • zyskujemy czas potrzebny na parsowanie skryptu
    • zyskujemy czas poświęcony na odczyt z bazy danych
    • lepsze parametry? – memcached (cache do RAMu)
  • Nic za darmo…
    • serwis traci na dynamice
    • zwiększone zapotrzebowanie na dysk
    Czy warto?
    • Przekonajmy się… 
  • Test
    • Apache Benchmark
    • index.php = ok. 30 zapytań SQL / request
    • Polecenie:
    • ab –n 10000 –c 100 –k http://localhost/index.php
    • n  - ilość zapytań
    • c  - ilość zapytań w tym samym czasie
    • k  - wymusza użycie stałego połączenia - HTTP KeepAlive
    • Spowoduje ono pobranie pliku index.php z serwera 10000 razy, przy czym jednocześnie będzie przeprowadzanych 100 połączeń.
  • Bez cache
  •  
  • Wykorzystując cache
  •  
  • Wniosek z testu?
    • 5 x większa wydajność serwera z wykorzystaniem cache!
    • 5 x więcej użytkowników do obsłużenia
    • oszczędność sprzętu, transferu, co przekłada się na oszczędność $$$
  • Pytania?