Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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 L...
Szczypta historii
● Klon Chatroulette
● „Pokaż się”
● „Pokaż się II”
● Konkurencyjne portale
● Kampania promocyjna
● Kolej...
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 instal...
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 h...
Architektura sprzętowa
● Serwery w OVH
● Kimsufi
● Zmiana oferty/polityki OVH
● Dodatkowe serwery
● Serwer streamingowy z ...
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...
Nasz klient nasz pan
● Dodano rankingi
● Dodane konkursy
● Dodano listę ulubionych
● Dodano listę zbanowanych
● Dodano pri...
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
● St...
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: l...
Pytania
Dziękuję
Upcoming SlideShare
Loading in …5
×

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

342 views

Published on

Łukasz Łuczak

Language: Polish

Pewnego dnia przyszedł klient, który chciał mieć serwis z kamerkami, projekt opisał jako zbliżony do największego polskiego portalu tego typu z niewielkimi zmianami. Pierwsza wersja powstała sprawnie bez problemów, portal ruszył, pojawiły się nowe pomysły i nieznane problemy.

Chciałbym opowiedzieć o tym jakie problemy mogą powstać przy robieniu projektów "wyglądających jak", kiedy pominięty zostaje aspekt analizy wymagań, oczekiwań klienta, jego pomysłów na rozwój a także przy niepoprawnym oszacowaniu ruchu. Przedstawię kolejne ściany jakie musieliśmy przebić by natrafić na kolejne problemy. Wśród przedstawionych problemów wskażę między innymi: niedoszacowanie ruchu na chacie, błędny projekt bazy danych, niewłaściwa konfiguracja serwerów, problemy z oprogramowaniem streamingowym, złe dobranie kodeków w kliencie flashowym, problemy z flashem, złe dobranie serwerowni / oferty serwerowni, a także zagadnienie live statystyk oraz obsługi live konkursów bazujących na statystykach.

Przedstawię także w jaki sposób zostały rozwiązane te problemy, jak wyglądała docelowa architektura oraz jak udało się doprowadzić produkt do wersji stabilnej będącej w stanie wytrzymać więcej ruchu niż u konkurencji (licząc na jeden serwer).

Podczas prób rozwiązania problemów sprawdzane były różne technologie i rozwiązania, które dokładały swoje problemy. Najciekawszym aspektem było łatanie live i ostry weekendowy crunch - największy ruch był w wieczór w piątek oraz w sobotni wieczór i potem połowę nocy, w związku z tym sporo zmian było robionych w piątek wieczorem, testowanych live a potem były robione w nocy i przez cały dzień by znów móc live przetestować na żywym organizmie.

Projekt pochłonął trzy razy więcej niż zakładał pierwotny budżet - tylko dzięki hojności klienta, który dużo płacił za dalsze modyfikacje udało się wyjść na zero.

Published in: Software
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Serwis z kamerkami Pole minowe wydajności
  2. 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. 3. Szczypta historii ● Klon Chatroulette ● „Pokaż się” ● „Pokaż się II” ● Konkurencyjne portale ● Kampania promocyjna ● Kolejny portal konkurencji ● „Pokaż się” próba powrotu ● Stagnacja
  4. 4. Geneza projektu ● Spotkanie „w połowie drogi” ● Szybki prototyp ● Prowizorki są najtrwalsze
  5. 5. Architektura Software ● PHP – ZF1 ● Pdo ● JavaScript ● MySQL ● Red5 ● Flash ● Ajax
  6. 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. 7. Próby na żywo I ● Chat kuleje ● Utylizacja serwera blisko 80% ● Słaba jakość ● Coś rwie video ● Zawiesza się
  8. 8. Szybki fix I ● Błędy w kodzie PHP ● setInterval =/= setTimeout ● Zmiana kodeków ● Działa
  9. 9. Próby na żywo II ● Działa ● … ale tylko do 50 osób ● Utylizacja serwera blisko 100% ● Szybka rekonfiguracja ● Problemy z hostingiem
  10. 10. Architektura sprzętowa ● Serwery w OVH ● Kimsufi ● Zmiana oferty/polityki OVH ● Dodatkowe serwery ● Serwer streamingowy z wyższej oferty z opcją PRO
  11. 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. 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. 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. 14. Zmiana Architektury ● Zmiana serwerowni ● Własna chmura ● APC ● MemCached ● Redis ● Tuning MySQL
  15. 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. 16. Koniec historii ● Smok zjadł własny ogon ● Zatrzymanie serwerów
  17. 17. Kontakt ● Twitter: lukasz_luczak ● LinkedIn: lukaszluczak ● About.me: lukasz.piotr.luczak ● Web: lukaszluczak.pl ● Mail: lukasz.luczak@onet.pl Pytania
  18. 18. Pytania
  19. 19. Dziękuję

×