Optymalizacja serwisów WWW
-
Upload
bziuum -
Category
Technology
-
view
500 -
download
0
description
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Ę ;)