Optymalizacja serwisów WWW

38
OPTYMALIZACJA SERWISÓW WWW CZĘŚĆ 1 Elbląg 2009 Godzina 3:43

description

Prezentacja z Olcamp v7 Sławka Pawęski (Grupa Fotka) nt. Optymalizacji serwisów www

Transcript of Optymalizacja serwisów WWW

Page 1: Optymalizacja serwisów WWW

OPTYMALIZACJA SERWISÓW WWW CZĘŚĆ 1

Elbląg 2009Godzina 3:43

Page 2: Optymalizacja serwisów WWW

2009-01-16

Sławomir Pawęska – programista PHP

Zdarza mi się widzied:

• fotka.pl

• emuzyka.pl

• swistak.pl

• itd…

O mnie

Page 3: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

O czym dziś będzie?

• tips&tricks

• CSS sprites

• minify

• (mem)cache

• varnish, nginx, lightppd, …

Page 4: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Jaka optymalizacja marnuje Twój czas?

$max = count($array);

for ($i = 0; $i < $max; $i++)

//is faster than

for ($i = 0; $i < count($array); $i++)

Page 5: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Jaka optymalizacja marnuje Twój czas?

if (!isset($foo{5})) { echo "Foo is too short"; }

//is faster than

if (strlen($foo) < 5) { echo "Foo is too short"; }

Page 6: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Czy to naprawde zysk?

0,000000001

//is faster than

0,000000000002

Page 7: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Czy sprawdzam to co czytam?

Komentarze zamulają kod!

Tak – ale w PHP3 gdy kod był interpretowany linia po linii a o APC nikt jeszcze nawet nie marzył ;)

Page 8: Optymalizacja serwisów WWW

CZY JEST NA SALI PROGRAMISTA? :>

Page 9: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Może mały test

++i czy i++

++i;++i; czy 2+=i

Page 10: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Może mały test

++i > i++

++i;++i; czy 2+=i

Page 11: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Może mały test

++i > i++

++i;++i; < 2+=i

Page 12: Optymalizacja serwisów WWW

JEŚLI NIE 0,0000000000001 TO CO?

Page 13: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Jakob Nielsen odpowiada

• 10 sekund to maksimum jakie user potrafi spędzid na oczekiwaniu na załadowanie się strony

• 15 sekund akceptowalne jest wyłącznie dla kilku kluczowych (dla usera) stron

• jakie masz łącze?

Page 14: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Lubię Yahoo

Page 15: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Kilka liczb

• HTML 5%-38%

• CSS/JS/Images 62%-95%

• 2-4 hosty dla połączeo

Page 16: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Lubię Yahoo

Page 17: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Może się mylą?

Page 18: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Przyspieszę Twój internet ;)

• Internet Explorer

HKEY_CURRENT_USER \ Software \ Microsoft \Windows \ CurrentVersion \ Internet Settings

• Firefox

About:config

Page 19: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Ale nie krzywdź sieci

Page 20: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Inżynier ma pomysł!

• 20 obrazków 36x36px 0.9Kb

• 20 obrazków 116x61px 3.4Kb

• różna liczba hostów (1,2,4,5,10)

Page 21: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Co z tymi hostami?

Page 22: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Wnioski

• Yahoo

"muszę zmienid kompa"

• reszta

"zbyt duże opóźnienia na DNS"

Page 23: Optymalizacja serwisów WWW

CSS SPRITES RATUNKIEM

Page 24: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Ale o co chodzi?

#rss { background-image: url(sprite.png); background-position: -8px -40px; width: 16px; height: 16px;

}

Page 25: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Czy ktoś z tego korzysta?

Page 26: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Pomocnik

Page 27: Optymalizacja serwisów WWW

MAŁE JEST PIĘKNE

Page 28: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Czym jest CSS/JS minify

• białe znaki, komentarze

• zaciemnianie

Page 29: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Jaki jest zysk?

Full Source Minified

Uncompressed 78151 38051

Compressed with gzip 15207 10799

Page 30: Optymalizacja serwisów WWW

PRZEJDŹMY DO CZEGOŚ CIEKAWSZEGO

Page 31: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Site

Apache

DB

Cache

Static

Częste zapytania

Mało zapytao

Page 32: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Baza danych

• index'y

- EXPLAIN

• dzielenie tabel

• cfg (RAM i ilośd połączeo)

• master/slave

• nie lubimy JOINa

Page 33: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Static

• dużo zapytao

- JS

- CSS

- małe obrazki

• mało zapytao

- duże obrazki (np. galeria)

- S3?

Page 34: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Static

• Apache się nie nadaje!

- wątki

• Nginx/Lightppd

Page 35: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Dynamic

• niewiele tu osiągniemy

- cfg (ilośd połączeo)

• kupujemy maszyny ;)

Page 36: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Cache

• dla static

- varnish

- squid

• dla db

- memcache

Page 37: Optymalizacja serwisów WWW

2009-01-16

Sprawy sądowe i zobowiązania

Warto sprawdzid

• http://highscalability.com/

• http://yuiblog.com/blog/

• http://notatnik.mekk.waw.pl/

• http://www.useit.com/

• http://ui.blox.pl/html

Page 38: Optymalizacja serwisów WWW

CDN (JUŻ ZA CHWILĘ ;)