Optymalizacja serwisów WWW

Post on 26-May-2015

500 views 0 download

description

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

Transcript of Optymalizacja serwisów WWW

OPTYMALIZACJA SERWISÓW WWW CZĘŚĆ 1

Elbląg 2009Godzina 3:43

2009-01-16

Sławomir Pawęska – programista PHP

Zdarza mi się widzied:

• fotka.pl

• emuzyka.pl

• swistak.pl

• itd…

O mnie

2009-01-16

Sprawy sądowe i zobowiązania

O czym dziś będzie?

• tips&tricks

• CSS sprites

• minify

• (mem)cache

• varnish, nginx, lightppd, …

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++)

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"; }

2009-01-16

Sprawy sądowe i zobowiązania

Czy to naprawde zysk?

0,000000001

//is faster than

0,000000000002

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ł ;)

CZY JEST NA SALI PROGRAMISTA? :>

2009-01-16

Sprawy sądowe i zobowiązania

Może mały test

++i czy i++

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

2009-01-16

Sprawy sądowe i zobowiązania

Może mały test

++i > i++

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

2009-01-16

Sprawy sądowe i zobowiązania

Może mały test

++i > i++

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

JEŚLI NIE 0,0000000000001 TO CO?

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?

2009-01-16

Sprawy sądowe i zobowiązania

Lubię Yahoo

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

2009-01-16

Sprawy sądowe i zobowiązania

Lubię Yahoo

2009-01-16

Sprawy sądowe i zobowiązania

Może się mylą?

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

2009-01-16

Sprawy sądowe i zobowiązania

Ale nie krzywdź sieci

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)

2009-01-16

Sprawy sądowe i zobowiązania

Co z tymi hostami?

2009-01-16

Sprawy sądowe i zobowiązania

Wnioski

• Yahoo

"muszę zmienid kompa"

• reszta

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

CSS SPRITES RATUNKIEM

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;

}

2009-01-16

Sprawy sądowe i zobowiązania

Czy ktoś z tego korzysta?

2009-01-16

Sprawy sądowe i zobowiązania

Pomocnik

MAŁE JEST PIĘKNE

2009-01-16

Sprawy sądowe i zobowiązania

Czym jest CSS/JS minify

• białe znaki, komentarze

• zaciemnianie

2009-01-16

Sprawy sądowe i zobowiązania

Jaki jest zysk?

Full Source Minified

Uncompressed 78151 38051

Compressed with gzip 15207 10799

PRZEJDŹMY DO CZEGOŚ CIEKAWSZEGO

2009-01-16

Sprawy sądowe i zobowiązania

Site

Apache

DB

Cache

Static

Częste zapytania

Mało zapytao

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

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?

2009-01-16

Sprawy sądowe i zobowiązania

Static

• Apache się nie nadaje!

- wątki

• Nginx/Lightppd

2009-01-16

Sprawy sądowe i zobowiązania

Dynamic

• niewiele tu osiągniemy

- cfg (ilośd połączeo)

• kupujemy maszyny ;)

2009-01-16

Sprawy sądowe i zobowiązania

Cache

• dla static

- varnish

- squid

• dla db

- memcache

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

CDN (JUŻ ZA CHWILĘ ;)