Optimalizace výkonu webových aplikací
Upcoming SlideShare
Loading in...5
×
 

Optimalizace výkonu webových aplikací

on

  • 3,099 views

 

Statistics

Views

Total Views
3,099
Views on SlideShare
3,043
Embed Views
56

Actions

Likes
1
Downloads
14
Comments
0

4 Embeds 56

http://www.michalspacek.cz 39
http://a0.twimg.com 9
http://www.linkedin.com 7
http://us-w1.rockmelt.com 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

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

Optimalizace výkonu webových aplikací Optimalizace výkonu webových aplikací Presentation Transcript

  • Optimalizace výkonu webových aplikací Michal Špaček, Skype; #4IT445 2011 , Praha @spazef0rze, www.michalspacek.cz
  • Optimalizace výkonu = zvyšování rychlosti
      Slide
  • Z tohoto
      Slide
  • uděláme tohle
      Slide
  • nebo aspoň tohle
      Slide
  • Zvyšování rychlosti dřívější zobrazení
  • < 5 sec Stránku zobrazit do 5 vteřin
  • 1 milión požadavků za den Při dané zátěži
  • Jak měřit dobu zobrazení?
    • Slide
  •  
    • Slide
  • Jak zrychlit?
  • vizuálně
      Slide
  • Pomocí animací „ zrychlíme“ načítání
  • Někdy i několikanásobně
      Slide
  • Jak opravdu zrychlit?
  • CSS Sprites Snížit počet HTTP požadavků pomocí
  • Logo je součástí jednoho souboru s mnoha dalšími ikonami
      Slide
    • Slide
  • Které jsou vybírány pomocí CSS
      Slide
  • CDN Content Delivery Network
  • Facebook používá CDN pro statické soubory
      Slide
  • Legenda: Původní server Uzel s kopií dat Návštěvník Spojení wpbeginner.com Takto funguje CDN
      Slide
  • Poskytovatelé CDN
  • Cache hlavičky v HTTP Pro statický obsah řeší HTTP server Pro správnou funkci nejen CDN a Sprites
  • Last-Modified If-Modified-Since V HTTP odpovědi V HTTP dotazu, řeší CDN
  • ETag If-None-Match V HTTP odpovědi V HTTP dotazu, řeší CDN
  • Content-Length Content-Type Lze poslat více požadavků v jednom spojení Umm, prostě správně říci, co posílám za data
  • http://www.slideshare.net/spaze/caching-strategies Pro víc info o HTTP cache viz moje prezentace
  • Zrychlení dotazů do databáze
  • Je třeba použít indexy
      Slide
  • EXPLAIN SELECT … Prováděcí plán nám poví, jestli se indexy používají Plán zjistíme pomocí SQL příkazu EXPLAIN
  • Výstup
      Slide
  • Aplikační cache memcached, APC
  • Ukládání výsledků dotazů do memcached
      Slide
  • PHP extenze, lze cachovat např. konfiguraci z ini/xml souborů (také opcode cache)
      Slide
  • na více serverů Rozložení zátěže Více serverů pro db Více serverů pro aplikaci Více serverů pro data (CDN)
      Slide
  • Pomalé/nejisté operace Odesílání mailů Převod IP na jméno (DNS)
  • pomocí externího programu, aby se nezpomalovalo zobrazení stránky Provádět asynchronně
  • Rychlost není VŠE
      Slide
  • Bezpečnost!
      Slide
  • Mohou snížit výkon, posílají se dva dotazy (připrav a vykonej), ale ochrání proti SQL Injection Prepared statements
  • Poté vykonání, kde se pošlou pouze data, která se na serveru dosadí na místo otazníků INSERT INTO table (name, price) VALUES (?, ?) Příprava dotazu, místo hodnot otazníky
    • Díky za pozornost! Michal Špaček, @spazef0rze http://jobs.skype.com/