SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
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


                      Munkamenet
                           adatok


Munkamenet süti



                  login.php
                  Szerver 2
Feladatok bontása


                        Felhasználók
                         adatbázisa




Webszerver




                        Egyéb adatok
                         adatbázisa
Master-Master replika


                             Master




Webszerver           Replikáció




                             Master
Master-Slave replika


                                     Master
             Írás



Webszerver                          Replikáció


                            Slave
             Olvasás

                            Slave
             Olvasás
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ó

         Slave                       Master
         USA                        Budapest




●   Lassú írások
●   Kötegelten célszerű megoldani
●   Hibakezelés kötelező
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
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é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

Contenu connexe

Similaire à Nagy terhelésű webes rendszerek fejlesztése

Amit mindig is tudni akartál az LDAP-ról, de sosem merted megkérdezni
Amit mindig is tudni akartál az LDAP-ról, de sosem merted megkérdezniAmit mindig is tudni akartál az LDAP-ról, de sosem merted megkérdezni
Amit mindig is tudni akartál az LDAP-ról, de sosem merted megkérdezniFerenc Szalai
 
A Redis lehetőségei
A Redis lehetőségeiA Redis lehetőségei
A Redis lehetőségeivvinston
 
PHP alkalmazások minőségbiztosítása
PHP alkalmazások minőségbiztosításaPHP alkalmazások minőségbiztosítása
PHP alkalmazások minőségbiztosításaFerenc Kovács
 
1 java megismerese
1 java megismerese1 java megismerese
1 java megismeresebalazs85
 
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokon
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokonCross Platform mobil app fejlesztés HTML5 JavaScript alapokon
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokoneRise
 
Budapest.rb 2011/01 - Rails Deployment
Budapest.rb 2011/01 - Rails DeploymentBudapest.rb 2011/01 - Rails Deployment
Budapest.rb 2011/01 - Rails DeploymentDigital Natives
 
GCP - A felhőalapú architektúrák és szolgáltatások
GCP - A felhőalapú architektúrák és szolgáltatásokGCP - A felhőalapú architektúrák és szolgáltatások
GCP - A felhőalapú architektúrák és szolgáltatásokMárton Kodok
 
PHP alapú keretrendszerek összehasonlítása - védés bemutató
PHP alapú keretrendszerek összehasonlítása - védés bemutatóPHP alapú keretrendszerek összehasonlítása - védés bemutató
PHP alapú keretrendszerek összehasonlítása - védés bemutatóAndras Rutkai
 
Deep reinforcement learning with DonkeyCar
Deep reinforcement learning with DonkeyCarDeep reinforcement learning with DonkeyCar
Deep reinforcement learning with DonkeyCarLeventeDmsa1
 
Rhyno smart city_platform_prezentacio_public_1v2
Rhyno smart city_platform_prezentacio_public_1v2Rhyno smart city_platform_prezentacio_public_1v2
Rhyno smart city_platform_prezentacio_public_1v2Gábor Nagymajtényi
 
Android fejlesztés
Android fejlesztésAndroid fejlesztés
Android fejlesztésOpen Academy
 
Grid Underground projekt
Grid Underground projektGrid Underground projekt
Grid Underground projektFerenc Szalai
 
Continous Integration and Deployment
Continous Integration and DeploymentContinous Integration and Deployment
Continous Integration and DeploymentKároly Nagy
 
Balogh gyorgy modern_big_data_megoldasok_sec_world_2014
Balogh gyorgy modern_big_data_megoldasok_sec_world_2014Balogh gyorgy modern_big_data_megoldasok_sec_world_2014
Balogh gyorgy modern_big_data_megoldasok_sec_world_2014LogDrill
 
Mi a baj a Drupaloddal
Mi a baj a DrupaloddalMi a baj a Drupaloddal
Mi a baj a Drupaloddalthesnufkin
 

Similaire à Nagy terhelésű webes rendszerek fejlesztése (20)

Amit mindig is tudni akartál az LDAP-ról, de sosem merted megkérdezni
Amit mindig is tudni akartál az LDAP-ról, de sosem merted megkérdezniAmit mindig is tudni akartál az LDAP-ról, de sosem merted megkérdezni
Amit mindig is tudni akartál az LDAP-ról, de sosem merted megkérdezni
 
A Redis lehetőségei
A Redis lehetőségeiA Redis lehetőségei
A Redis lehetőségei
 
PHP alkalmazások minőségbiztosítása
PHP alkalmazások minőségbiztosításaPHP alkalmazások minőségbiztosítása
PHP alkalmazások minőségbiztosítása
 
1 java megismerese
1 java megismerese1 java megismerese
1 java megismerese
 
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokon
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokonCross Platform mobil app fejlesztés HTML5 JavaScript alapokon
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokon
 
Budapest.rb 2011/01 - Rails Deployment
Budapest.rb 2011/01 - Rails DeploymentBudapest.rb 2011/01 - Rails Deployment
Budapest.rb 2011/01 - Rails Deployment
 
GCP - A felhőalapú architektúrák és szolgáltatások
GCP - A felhőalapú architektúrák és szolgáltatásokGCP - A felhőalapú architektúrák és szolgáltatások
GCP - A felhőalapú architektúrák és szolgáltatások
 
PHP alapú keretrendszerek összehasonlítása - védés bemutató
PHP alapú keretrendszerek összehasonlítása - védés bemutatóPHP alapú keretrendszerek összehasonlítása - védés bemutató
PHP alapú keretrendszerek összehasonlítása - védés bemutató
 
Deep reinforcement learning with DonkeyCar
Deep reinforcement learning with DonkeyCarDeep reinforcement learning with DonkeyCar
Deep reinforcement learning with DonkeyCar
 
Sok a szöveg?
Sok a szöveg?Sok a szöveg?
Sok a szöveg?
 
Rhyno smart city_platform_prezentacio_public_1v2
Rhyno smart city_platform_prezentacio_public_1v2Rhyno smart city_platform_prezentacio_public_1v2
Rhyno smart city_platform_prezentacio_public_1v2
 
Ci
CiCi
Ci
 
Android fejlesztés
Android fejlesztésAndroid fejlesztés
Android fejlesztés
 
WebRTC - Hol tartunk ma?
WebRTC - Hol tartunk ma?WebRTC - Hol tartunk ma?
WebRTC - Hol tartunk ma?
 
Grid Underground projekt
Grid Underground projektGrid Underground projekt
Grid Underground projekt
 
A Firefox-on túl is Mozilla
A Firefox-on túl is MozillaA Firefox-on túl is Mozilla
A Firefox-on túl is Mozilla
 
Continous Integration and Deployment
Continous Integration and DeploymentContinous Integration and Deployment
Continous Integration and Deployment
 
Balogh gyorgy modern_big_data_megoldasok_sec_world_2014
Balogh gyorgy modern_big_data_megoldasok_sec_world_2014Balogh gyorgy modern_big_data_megoldasok_sec_world_2014
Balogh gyorgy modern_big_data_megoldasok_sec_world_2014
 
A jövő IT világa
A jövő IT világaA jövő IT világa
A jövő IT világa
 
Mi a baj a Drupaloddal
Mi a baj a DrupaloddalMi a baj a Drupaloddal
Mi a baj a Drupaloddal
 

Plus de János Pásztor

A Virtualizáció esete a Puppettal
A Virtualizáció esete a PuppettalA Virtualizáció esete a Puppettal
A Virtualizáció esete a PuppettalJános Pásztor
 
Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013
Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013
Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013János Pásztor
 
IPv6 tartalomszolgáltatóknak
IPv6 tartalomszolgáltatóknakIPv6 tartalomszolgáltatóknak
IPv6 tartalomszolgáltatóknakJános Pásztor
 
Az E-mail, a Hírlevél és a Spamszűrők
Az E-mail, a Hírlevél és a SpamszűrőkAz E-mail, a Hírlevél és a Spamszűrők
Az E-mail, a Hírlevél és a SpamszűrőkJános Pásztor
 
Syslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknekSyslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknekJános Pásztor
 
Az SVN használata a csapatfejlesztésben
Az SVN használata a csapatfejlesztésbenAz SVN használata a csapatfejlesztésben
Az SVN használata a csapatfejlesztésbenJános Pásztor
 

Plus de János Pásztor (9)

How (not) to document
How (not) to documentHow (not) to document
How (not) to document
 
A Virtualizáció esete a Puppettal
A Virtualizáció esete a PuppettalA Virtualizáció esete a Puppettal
A Virtualizáció esete a Puppettal
 
Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013
Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013
Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013
 
Linux alapok
Linux alapokLinux alapok
Linux alapok
 
IPv6 tartalomszolgáltatóknak
IPv6 tartalomszolgáltatóknakIPv6 tartalomszolgáltatóknak
IPv6 tartalomszolgáltatóknak
 
Web applications
Web applicationsWeb applications
Web applications
 
Az E-mail, a Hírlevél és a Spamszűrők
Az E-mail, a Hírlevél és a SpamszűrőkAz E-mail, a Hírlevél és a Spamszűrők
Az E-mail, a Hírlevél és a Spamszűrők
 
Syslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknekSyslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknek
 
Az SVN használata a csapatfejlesztésben
Az SVN használata a csapatfejlesztésbenAz SVN használata a csapatfejlesztésben
Az SVN használata a csapatfejlesztésben
 

Nagy terhelésű webes rendszerek fejlesztése