SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Serwis z kamerkami
Pole minowe wydajności
O mnie
● Łukasz Piotr Łuczak
● Ojciec i mąż
● 8/12/18 lat doświadczenia w IT
● Software Engineer / Architect
● Technical Leader / CTO
● Doktorant
Szczypta historii
● Klon Chatroulette
● „Pokaż się”
● „Pokaż się II”
● Konkurencyjne portale
● Kampania promocyjna
● Kolejny portal konkurencji
● „Pokaż się” próba powrotu
● Stagnacja
Geneza projektu
● Spotkanie „w połowie drogi”
● Szybki prototyp
● Prowizorki są najtrwalsze
Architektura Software
● PHP – ZF1
● Pdo
● JavaScript
● MySQL
● Red5
● Flash
● Ajax
Problemy ze
streamingiem
● Niemożliwe testowanie na localhost
● Niemożliwa kompilacja aplikacji na Red5
● Problem z instalacją i konfiguracją na serwerze
● Działa!
● Albo i nie...
● Zła wersja serwera
● Ruszyło
● Jakoś(ć) średnio
Próby na żywo I
● Chat kuleje
● Utylizacja serwera blisko 80%
● Słaba jakość
● Coś rwie video
● Zawiesza się
Szybki fix I
● Błędy w kodzie PHP
● setInterval =/= setTimeout
● Zmiana kodeków
● Działa
Próby na żywo II
● Działa
● … ale tylko do 50 osób
● Utylizacja serwera blisko 100%
● Szybka rekonfiguracja
● Problemy z hostingiem
Architektura sprzętowa
● Serwery w OVH
● Kimsufi
● Zmiana oferty/polityki OVH
● Dodatkowe serwery
● Serwer streamingowy z wyższej oferty z opcją
PRO
Próby na żywo III
● Streaming daje radę
● … w HD !
● Granica 120 osób
● Optymalizacja bazy danych
● 150 osób i działa
Startujemy
● Około 250 widzów / peak 400 osób
● Pozytywny odbiór
● „Ekstra portal”
● Brakuje rankingów
● Brakuje konkursów
● Brakuje listy ulubieni / zbanowani
● Brakuje privów
Nasz klient nasz pan
● Dodano rankingi
● Dodane konkursy
● Dodano listę ulubionych
● Dodano listę zbanowanych
● Dodano privy
● Dodano więcej życia
● 130 osób i ...
Zmiana Architektury
● Zmiana serwerowni
● Własna chmura
● APC
● MemCached
● Redis
● Tuning MySQL
Mamy DJ'kę
● Streaming video wytrzymuje około 1 tys.
widzów
● Chat wytrzymuje około 1,5 tys. widzów
● Statystyki live
● Stałe transmisje DJ'ki
● „Dołóżmy nowe funkcje”
Koniec historii
● Smok zjadł własny ogon
● Zatrzymanie serwerów
Kontakt
● Twitter: lukasz_luczak
● LinkedIn: lukaszluczak
● About.me: lukasz.piotr.luczak
● Web: lukaszluczak.pl
● Mail: lukasz.luczak@onet.pl
Pytania
Pytania
Dziękuję

Weitere ähnliche Inhalte

Ähnlich wie 4Developers2015: Serwis z kamerkami - pole minowe wydajności - Łukasz Łuczak

4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...
4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...
4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...PROIDEA
 
Wielkie protokoły wielkich ludzi
Wielkie protokoły wielkich ludziWielkie protokoły wielkich ludzi
Wielkie protokoły wielkich ludziThe Software House
 
[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...
[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...
[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...PROIDEA
 
Tomasz Paszkowski - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...
Tomasz Paszkowski  - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...Tomasz Paszkowski  - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...
Tomasz Paszkowski - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...PROIDEA
 
The story of GOG.com Cache - PHPers 2014 ( PL )
 The story of GOG.com Cache - PHPers 2014 ( PL ) The story of GOG.com Cache - PHPers 2014 ( PL )
The story of GOG.com Cache - PHPers 2014 ( PL )GOG.com dev team
 
The story of GOG.com Cache - 4developers 2014 ( PL )
The story of GOG.com Cache - 4developers 2014 ( PL )The story of GOG.com Cache - 4developers 2014 ( PL )
The story of GOG.com Cache - 4developers 2014 ( PL )GOG.com dev team
 
PLNOG16: Czy każdy administrator sieci zostanie programistą, Sławomir Januk...
PLNOG16: Czy każdy administrator sieci zostanie programistą, Sławomir Januk...PLNOG16: Czy każdy administrator sieci zostanie programistą, Sławomir Januk...
PLNOG16: Czy każdy administrator sieci zostanie programistą, Sławomir Januk...PROIDEA
 
IT od kuchni w Nokaut.pl
IT od kuchni w Nokaut.pl IT od kuchni w Nokaut.pl
IT od kuchni w Nokaut.pl 3camp
 
Dwunastkowe terminale - szybko i prosto
Dwunastkowe terminale - szybko i prostoDwunastkowe terminale - szybko i prosto
Dwunastkowe terminale - szybko i prostoLukasz Kaluzny
 
Optymalizacja Serwisów WWW
Optymalizacja Serwisów WWWOptymalizacja Serwisów WWW
Optymalizacja Serwisów WWWPaweł Harajda
 

Ähnlich wie 4Developers2015: Serwis z kamerkami - pole minowe wydajności - Łukasz Łuczak (13)

4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...
4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...
4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...
 
Wielkie protokoły wielkich ludzi
Wielkie protokoły wielkich ludziWielkie protokoły wielkich ludzi
Wielkie protokoły wielkich ludzi
 
Swoole w PHP. Czy to ma sens?
Swoole w PHP. Czy to ma sens?Swoole w PHP. Czy to ma sens?
Swoole w PHP. Czy to ma sens?
 
[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...
[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...
[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...
 
Tomasz Paszkowski - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...
Tomasz Paszkowski  - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...Tomasz Paszkowski  - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...
Tomasz Paszkowski - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...
 
The story of GOG.com Cache - PHPers 2014 ( PL )
 The story of GOG.com Cache - PHPers 2014 ( PL ) The story of GOG.com Cache - PHPers 2014 ( PL )
The story of GOG.com Cache - PHPers 2014 ( PL )
 
The story of GOG.com Cache - 4developers 2014 ( PL )
The story of GOG.com Cache - 4developers 2014 ( PL )The story of GOG.com Cache - 4developers 2014 ( PL )
The story of GOG.com Cache - 4developers 2014 ( PL )
 
PLNOG16: Czy każdy administrator sieci zostanie programistą, Sławomir Januk...
PLNOG16: Czy każdy administrator sieci zostanie programistą, Sławomir Januk...PLNOG16: Czy każdy administrator sieci zostanie programistą, Sławomir Januk...
PLNOG16: Czy każdy administrator sieci zostanie programistą, Sławomir Januk...
 
It od kuchni w nokaut.pl
It od kuchni w nokaut.plIt od kuchni w nokaut.pl
It od kuchni w nokaut.pl
 
IT od kuchni w Nokaut.pl
IT od kuchni w Nokaut.pl IT od kuchni w Nokaut.pl
IT od kuchni w Nokaut.pl
 
Dwunastkowe terminale - szybko i prosto
Dwunastkowe terminale - szybko i prostoDwunastkowe terminale - szybko i prosto
Dwunastkowe terminale - szybko i prosto
 
Optymalizacja Serwisów WWW
Optymalizacja Serwisów WWWOptymalizacja Serwisów WWW
Optymalizacja Serwisów WWW
 
Websockety w PHP
Websockety w PHPWebsockety w PHP
Websockety w PHP
 

4Developers2015: Serwis z kamerkami - pole minowe wydajności - Łukasz Łuczak

  • 1. Serwis z kamerkami Pole minowe wydajności
  • 2. O mnie ● Łukasz Piotr Łuczak ● Ojciec i mąż ● 8/12/18 lat doświadczenia w IT ● Software Engineer / Architect ● Technical Leader / CTO ● Doktorant
  • 3. Szczypta historii ● Klon Chatroulette ● „Pokaż się” ● „Pokaż się II” ● Konkurencyjne portale ● Kampania promocyjna ● Kolejny portal konkurencji ● „Pokaż się” próba powrotu ● Stagnacja
  • 4. Geneza projektu ● Spotkanie „w połowie drogi” ● Szybki prototyp ● Prowizorki są najtrwalsze
  • 5. Architektura Software ● PHP – ZF1 ● Pdo ● JavaScript ● MySQL ● Red5 ● Flash ● Ajax
  • 6. Problemy ze streamingiem ● Niemożliwe testowanie na localhost ● Niemożliwa kompilacja aplikacji na Red5 ● Problem z instalacją i konfiguracją na serwerze ● Działa! ● Albo i nie... ● Zła wersja serwera ● Ruszyło ● Jakoś(ć) średnio
  • 7. Próby na żywo I ● Chat kuleje ● Utylizacja serwera blisko 80% ● Słaba jakość ● Coś rwie video ● Zawiesza się
  • 8. Szybki fix I ● Błędy w kodzie PHP ● setInterval =/= setTimeout ● Zmiana kodeków ● Działa
  • 9. Próby na żywo II ● Działa ● … ale tylko do 50 osób ● Utylizacja serwera blisko 100% ● Szybka rekonfiguracja ● Problemy z hostingiem
  • 10. Architektura sprzętowa ● Serwery w OVH ● Kimsufi ● Zmiana oferty/polityki OVH ● Dodatkowe serwery ● Serwer streamingowy z wyższej oferty z opcją PRO
  • 11. Próby na żywo III ● Streaming daje radę ● … w HD ! ● Granica 120 osób ● Optymalizacja bazy danych ● 150 osób i działa
  • 12. Startujemy ● Około 250 widzów / peak 400 osób ● Pozytywny odbiór ● „Ekstra portal” ● Brakuje rankingów ● Brakuje konkursów ● Brakuje listy ulubieni / zbanowani ● Brakuje privów
  • 13. Nasz klient nasz pan ● Dodano rankingi ● Dodane konkursy ● Dodano listę ulubionych ● Dodano listę zbanowanych ● Dodano privy ● Dodano więcej życia ● 130 osób i ...
  • 14. Zmiana Architektury ● Zmiana serwerowni ● Własna chmura ● APC ● MemCached ● Redis ● Tuning MySQL
  • 15. Mamy DJ'kę ● Streaming video wytrzymuje około 1 tys. widzów ● Chat wytrzymuje około 1,5 tys. widzów ● Statystyki live ● Stałe transmisje DJ'ki ● „Dołóżmy nowe funkcje”
  • 16. Koniec historii ● Smok zjadł własny ogon ● Zatrzymanie serwerów
  • 17. Kontakt ● Twitter: lukasz_luczak ● LinkedIn: lukaszluczak ● About.me: lukasz.piotr.luczak ● Web: lukaszluczak.pl ● Mail: lukasz.luczak@onet.pl Pytania