2. O mnie
Sławomir Pawęska – programista PHP
Zdarza mi się widzied:
• fotka.pl
• emuzyka.pl
• swistak.pl
• itd…
2009-01-16
3. O czym dziś będzie?
• tips&tricks
Sprawy sądowe i zobowiązania
• CSS sprites
• minify
• (mem)cache
• varnish, nginx, lightppd, …
2009-01-16
4. Jaka optymalizacja marnuje Twój czas?
$max = count($array);
Sprawy sądowe i zobowiązania
for ($i = 0; $i < $max; $i++)
//is faster than
for ($i = 0; $i < count($array); $i++)
2009-01-16
5. Jaka optymalizacja marnuje Twój czas?
if (!isset($foo{5})) { echo quot;Foo is too shortquot;; }
Sprawy sądowe i zobowiązania
//is faster than
if (strlen($foo) < 5) { echo quot;Foo is too shortquot;; }
2009-01-16
6. Czy to naprawde zysk?
0,000000001
Sprawy sądowe i zobowiązania
//is faster than
0,000000000002
2009-01-16
7. Czy sprawdzam to co czytam?
Komentarze zamulają kod!
Sprawy sądowe i zobowiązania
Tak – ale w PHP3 gdy kod był interpretowany linia po
linii a o APC nikt jeszcze nawet nie marzył ;)
2009-01-16
13. Jakob Nielsen odpowiada
• 10 sekund to maksimum jakie user potrafi spędzid
na oczekiwaniu na załadowanie się strony
Sprawy sądowe i zobowiązania
• 15 sekund akceptowalne jest wyłącznie dla kilku
kluczowych (dla usera) stron
• jakie masz łącze?
2009-01-16
14. Lubię Yahoo
Sprawy sądowe i zobowiązania
2009-01-16
15. Kilka liczb
• HTML 5%-38%
Sprawy sądowe i zobowiązania
• CSS/JS/Images 62%-95%
• 2-4 hosty dla połączeo
2009-01-16
16. Lubię Yahoo
Sprawy sądowe i zobowiązania
2009-01-16
18. Przyspieszę Twój internet ;)
• Internet Explorer
HKEY_CURRENT_USER Software Microsoft
Sprawy sądowe i zobowiązania
Windows CurrentVersion Internet Settings
• Firefox
About:config
2009-01-16
19. Ale nie krzywdź sieci
Sprawy sądowe i zobowiązania
2009-01-16
20. Inżynier ma pomysł!
• 20 obrazków 36x36px 0.9Kb
Sprawy sądowe i zobowiązania
• 20 obrazków 116x61px 3.4Kb
• różna liczba hostów (1,2,4,5,10)
2009-01-16
21. Co z tymi hostami?
Sprawy sądowe i zobowiązania
2009-01-16
22. Wnioski
• Yahoo
Sprawy sądowe i zobowiązania
quot;muszę zmienid kompaquot;
• reszta
quot;zbyt duże opóźnienia na DNSquot;
2009-01-16
24. Ale o co chodzi?
#rss { Sprawy sądowe i zobowiązania
background-image: url(/slideshow/optymalizacja-serwisw-www-presentation/927922/sprite.png);
background-position: -8px -40px;
width: 16px;
height: 16px;
}
2009-01-16
25. Czy ktoś z tego korzysta?
Sprawy sądowe i zobowiązania
2009-01-16
26. Pomocnik
Sprawy sądowe i zobowiązania
2009-01-16
31. Site
Static
Apache
Sprawy sądowe i zobowiązania
Częste Mało
DB
zapytania zapytao
Cache
2009-01-16
32. Baza danych
• index'y
- EXPLAIN
Sprawy sądowe i zobowiązania
• dzielenie tabel
• cfg (RAM i ilośd połączeo)
• master/slave
• nie lubimy JOINa
2009-01-16
33. Static
• dużo zapytao
- JS
Sprawy sądowe i zobowiązania
- CSS
- małe obrazki
• mało zapytao
- duże obrazki (np. galeria)
- S3?
2009-01-16
34. Static
• Apache się nie nadaje!
Sprawy sądowe i zobowiązania
- wątki
• Nginx/Lightppd
2009-01-16
35. Dynamic
• niewiele tu osiągniemy
Sprawy sądowe i zobowiązania
- cfg (ilośd połączeo)
• kupujemy maszyny ;)
2009-01-16
36. Cache
• dla static
Sprawy sądowe i zobowiązania
- varnish
- squid
• dla db
- memcache
2009-01-16
37. Warto sprawdzid
• http://highscalability.com/
Sprawy sądowe i zobowiązania
• http://yuiblog.com/blog/
• http://notatnik.mekk.waw.pl/
• http://www.useit.com/
• http://ui.blox.pl/html
2009-01-16