nagy terhelésű webes rendszerek fejlesztése
DESCRIPTION
TRANSCRIPT
Nagy terhelésű webes rendszerek fejlesztésePásztor János
Mitől nagy terhelésű?
Tényleg szükség van rá?
Forrás: Rajcsányi Zoltán, partifotosok.hu
Mik az elvárások?
● Legyen magas rendelkezésre állású!
● Legyen skálázható!● Legyen nagyobb teherbírású!
Legyen magas rendelkezésre állású!Vagy mégsem?
LVS
Frontend
GFS2
DRBD
HA szoftverek
Együtt akár ilyenek is lehetnek
Legyen skálázható!Vagy mégsem?
Soft Launch„Launch early, launch crappy.”
Legyen nagyobb teherbírású!
DYNAMIC STATIC 2STATIC 1
Statikus tartalmak terjesztése
index.phpSzerver 1
login.phpSzerver 2
Munkamenetadatok
Munkamenet süti
Munkamenet süti
Munkamenet (session)
Felhasználókadatbázisa
Egyéb adatokadatbázisa
Webszerver
Feladatok bontása
Webszerver
Master
Master
Replikáció
Master-Master replika
Webszerver
Master
Slave
Replikáció
Slave
Írás
Olvasás
Olvasás
Master-Slave replika
Szolgáltatások lekapcsolása
Komplexitás
Mire lesz szükség?
Load balancer (Content Switch)
Switch
Szerver
Monitorozás
Monitorozó szoftverek
● Nagios● Munin● Monit● Collectd● NTop● Syslog-NG
Emberi tudás
Emberi tudás
● Hibakeresés● Wireshark, tcpdump, tcpflow● strace
● Erőforrás figyelés● top, ps, stb● Cachegrind
● SQL optimalizálás● Explain parancs használata● Maatkit● mysqltuner.pl
Kérdések eddig?(Még nincs vége...)
Építsünk blog szolgáltatást!
Kérdések ezzel kapcsolatban?
(Még mindig nincs vége...)
Global load balancing
CDN
● Statikus tartalmat szolgál ki● Globálisan load balance-olva● Megoldja a probléma 80-90%-át● Költséghatékony
Replikáció
MasterBudapest
SlaveUSA
● Lassú írások● Kötegelten célszerű megoldani● Hibakezelés kötelező
Adategységek mozgatása
● Jól skálázódik● Jó felhasználói élményt nyújt (gyors írások)● Több munka lefejleszteni● Csak bizonyos alkalmazások esetén működik
USA data node Budapest data nodeFelhasználó adatai
belépéskor
További olvasmányok● Andrew S. Tannenbaum, Albert S. Woodhull –
Operációs rendszerek (tervezés és implementáció)● Petrényi József – TCP/IP Alapok● Yahoo Developer Network - Best Practices for
Speeding Up Your Web Site● Adam Charnock – The Hitchhikers Guide to PHP
Load Balancing● Pásztor János – Nagy terhelésű rendszerek
fejlesztése (Weblabor)● David Heinemeier Hansson – The secret to making
money online
Még kérdések?(Most van vége.)
Képek
● http://www.wireshark.org/● http://kcachegrind.sourceforge.net/● http://www.monit.org/● http://www.munin.org/● http://www.nagios.org/● http://www.canihazcheezburger.com/● http://www.flickr.com/photos/djackmanson/3729849415/● http://www.flickr.com/photos/43235804@N04/4425128655● http://www.flickr.com/photos/gibbons/2294375187/
Jövő hétenSimon Bence: Objektum orientált programozás PHP nyelven
(második rész)
Akik segítettekBarabás Réka (DotRoll), Hirling Endre (DoclerWeb), Schmidt
Zoltán (Duodecad), Rajcsányi Zoltán (partifotosok.hu)
Linkshttp://www.doclerholding.com/
http://www.facebook.com/doclerakademiahttp://www.slideshare.net/janoszen