Nagy terhelésű webes rendszerek fejlesztése
Pá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?
HA szoftverek
LVS
Frontend
GFS2
DRBD
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ú!
Statikus tartalmak terjesztése
DYNAMIC STATIC 1 STATIC 2
Munkamenet (session)
index.php
Szerver 1
Munkamenet süti
...
Feladatok bontása
Felhasználók
adatbázisa
Webszerver
...
Master-Master replika
Master
Webszerver Replikáció
...
Master-Slave replika
Master
Írás
Webszerver ...
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, s...
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é...
Replikáció
Slave Master
USA Budapest
● Lassú írások
...
Adategységek mozgatása
Felhasználó adatai
USA data node Budape...
További olvasmányok
● Andrew S. Tannenbaum, Albert S. Woodhull –
Operációs rendszerek (tervezés és implementáció)
● ...
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...
Jövő héten
Simon Bence: Objektum orientált programozás PHP nyelven
(második rész)
...
Nagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztése
of 48

Nagy terhelésű webes rendszerek fejlesztése

Published on: Mar 3, 2016
Published in: Education      
Source: www.slideshare.net


Transcripts - Nagy terhelésű webes rendszerek fejlesztése

  • 1. Nagy terhelésű webes rendszerek fejlesztése Pásztor János
  • 2. Mitől nagy terhelésű?
  • 3. Tényleg szükség van rá? Forrás: Rajcsányi Zoltán, partifotosok.hu
  • 4. Mik az elvárások? ● Legyen magas rendelkezésre állású! ● Legyen skálázható! ● Legyen nagyobb teherbírású!
  • 5. Legyen magas rendelkezésre állású! Vagy mégsem?
  • 6. HA szoftverek LVS Frontend GFS2 DRBD
  • 7. Együtt akár ilyenek is lehetnek
  • 8. Legyen skálázható! Vagy mégsem?
  • 9. Soft Launch „Launch early, launch crappy.”
  • 10. Legyen nagyobb teherbírású!
  • 11. Statikus tartalmak terjesztése DYNAMIC STATIC 1 STATIC 2
  • 12. Munkamenet (session) index.php Szerver 1 Munkamenet süti Munkamenet adatok Munkamenet süti login.php Szerver 2
  • 13. Feladatok bontása Felhasználók adatbázisa Webszerver Egyéb adatok adatbázisa
  • 14. Master-Master replika Master Webszerver Replikáció Master
  • 15. Master-Slave replika Master Írás Webszerver Replikáció Slave Olvasás Slave Olvasás
  • 16. Szolgáltatások lekapcsolása
  • 17. Komplexitás
  • 18. Mire lesz szükség?
  • 19. Load balancer (Content Switch)
  • 20. Switch
  • 21. Szerver
  • 22. Monitorozás
  • 23. Monitorozó szoftverek ● Nagios ● Munin ● Monit ● Collectd ● NTop ● Syslog-NG
  • 24. Emberi tudás
  • 25. 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
  • 26. Kérdések eddig? (Még nincs vége...)
  • 27. Építsünk blog szolgáltatást!
  • 28. Kérdések ezzel kapcsolatban? (Még mindig nincs vége...)
  • 29. Global load balancing
  • 30. CDN ● Statikus tartalmat szolgál ki ● Globálisan load balance-olva ● Megoldja a probléma 80-90%-át ● Költséghatékony
  • 31. Replikáció Slave Master USA Budapest ● Lassú írások ● Kötegelten célszerű megoldani ● Hibakezelés kötelező
  • 32. Adategységek mozgatása Felhasználó adatai USA data node Budapest data node belépéskor ● 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
  • 33. 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
  • 34. Még kérdések? (Most van vége.)
  • 35. 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/
  • 36. Jövő héten Simon Bence: Objektum orientált programozás PHP nyelven (második rész) Akik segítettek Barabás Réka (DotRoll), Hirling Endre (DoclerWeb), Schmidt Zoltán (Duodecad), Rajcsányi Zoltán (partifotosok.hu) Links http://www.doclerholding.com/ http://www.facebook.com/doclerakademia http://www.slideshare.net/janoszen