Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Prezentują: Marek Wałach UX Designer Marcin Ceran PHP Developer.

Podobne prezentacje


Prezentacja na temat: "Prezentują: Marek Wałach UX Designer Marcin Ceran PHP Developer."— Zapis prezentacji:

1

2 Prezentują: Marek Wałach UX Designer Marcin Ceran PHP Developer

3 Agenda 1.O nas 2.Skala projektu iPresso 3.Wykorzystywana technologia 4.Case study 1: Przetwarzanie danych do analiz w tle 5.Case study 2: Aktualizacja wielu baz jednocześnie 6.Case study 3: Procesy działające w tle 7.Czas na pytania

4 encja.com S.A. Jesteśmy zespołem kilkudziesięciu pracowników i współpracowników skoncentrowanym na potrzebach ludzi biznesu i administracji.

5 Nasze rozwiązania …i wiele innych

6 iPresso Platforma dla nowoczesnych i skutecznych marketerów, która posiada w jednym miejscu profesjonalne narzędzia

7 iPresso Zarządzanie kontaktami e-PRMonitoring mediów

8 iPresso Marketing Automation IntegracjeDirect Marketing

9 Skala projektu iPresso Wielu klientów obsługiwanych w modelu SaaS

10 Skala projektu iPresso Ponad 500 000 kontaktów (użytkowników) obsługiwanych w ramach jednego klienta … i rośnie

11 Skala projektu iPresso Ponad 13 000 zadań dziennie wykonywanych dla jednego klienta … i rośnie

12 Przykładowe zadania systemu Wysyłka mailingu do 500 000 kontaktów Monitorowanie kilkunastu fraz w mediach Synchronizacja z zewnętrznymi systemami klienta Analizowanie bieżących działań

13 Prognozy Wielu klientów obsługujących 1 – 5 milionów kontaktów Wzrost ilości wykonywanych zadań dziennie

14 Wykorzystywana technologia

15 Konfiguracja maszyn w chwili startu 1 maszyna z kodem aplikacji, bazą oraz wykonująca akcje cronowe

16 Konfiguracja maszyn w chwili obecnej Wydzielone maszyny dla każdej z funkcji aplikacji

17 Konfiguracja maszyn w przyszłości Wydzielone maszyny dla każdej indywidualnej funkcji w celu lepszego skalowania i równoważenia obciążenia

18 Case study 1 Przetwarzanie danych do analiz w tle

19 Ilości danych i ich struktura w kontekście analiz W systemie przechowywane są informacje na temat historii działań kontaktów. Dla 400 000 aktywnych kontaktów w przeciągu kilku miesięcy powstaje tabela z ponad 6 000 000 rekordów

20 Ilości danych i ich struktura w kontekście analiz Każdy rekord może być powiązany z innymi elementami systemu Danych cały czas przybywa

21 Główne wyzwanie Przygotowanie raportu zawierającego analizę aktywności kontaktów w jak najkrótszym czasie na żądanie użytkownika

22 Przygotowanie analizy Analiza wymaga sprawdzenia aktywności każdego kontaktu z osobna i połączenia ich w odpowiednie grupy. Grupowanie polega na znalezieniu kontaktów, których sekwencja aktywności jest taka sama. Data wystąpienia danej aktywności i ich kolejność może być różna dla każdego kontaktu.

23 Zastosowane rozwiązania Przerzucenie procesu wyciągania i analizowania danych w tło Rozbicie analizy danych na wiele procesów działających w tym samym czasie Wykorzystanie współdzielonego serwera memcached dla procesów przygotowujących analizy

24 Zastosowane rozwiązania Przetrzymywanie gotowych analiz w cacheu Mechanizm informujący o postępie przygotowania analizy użytkownika

25 Dalszy rozwój Wydzielenie osobnej maszyny dla analiz Cykliczna wstępna obróbka danych umożliwiająca przyspieszenie procesu generowania analizy

26 Case study 2 Aktualizacja wielu baz jednocześnie

27 Struktura bazodanowa 1 wspólna baza przetrzymująca informacje na temat klientów Każdy klient ma swoją bazę danych w której przechowywane są jego dane Struktura baz klientów jest identyczna

28 Pliki aktualizujące bazę Wykorzystanie plików xml/sql wykonywanych dla każdej bazy Podział pliku na tagi z zaznaczeniem jaki tag był ostatnio wykonywany

29 Napotkane problemy Czas wykonywania skryptów aktualizacyjnych dla cały czas rosnącej liczby klientów Zabezpieczenie przed niepowodzeniem operacji

30 Opis problemu Bardzo długi czas aktualizacji baz danych jedna po drugiej Brak dostępu do usług podczas aktualizacji Obsługa potencjalnych błędów

31 Obciążenie sprzętowe Bardzo niskie obciążenie sprzętowe ze względu na to, że aktualizowana była jedna baza na raz

32 Zastosowane rozwiązania Przerzucenie skryptów w tło Rekurencyjne odpalanie się skryptów Snapshoty w celu bezpieczeństwa

33 Efekty wprowadzonych rozwiązań Czas wykonywania skryptów skrócił się o ponad 60 % W pełni wykorzystanie mocy obliczeniowej podczas aktualizacji

34 Case study 3 Procesy działające w tle

35 Pierwsze rozwiązanie Początkowo zadania były inicjowane przez cron-a

36 Napotkany problem Duża liczba zadań oraz rosnąca liczba klientów wymagały jednoczesnego uruchamiania coraz to większej liczby skryptów. Skutkowało to dużym, skokowym zużyciem zasobów.

37 Zastosowane rozwiązanie Daemons

38 Zalety Daemonów Obsługa nieukończonych zadań Brak konieczności czekania całej minuty do wykonania następnego zadania

39 Zalety Daemonów Zarządzanie wieloma zadaniami w jednym czasie Obsługa intentów

40 Przykładowe kategorie zadań System mailingowy System SMS Marketing automation

41 Przykładowe kategorie zadań Komunikacja z portalami społecznościowymi Synchronizacja z systemami zewnętrznymi Procesy związane z analizą danych

42 Opis rozwiązania Jeden proces do zarządzania zadaniami Każdy daemon posiada swój grafik z definicjami zadań Kolejkowanie zadań z wykorzystaniem IPC

43 Opis rozwiązania Rejestracja zadań (aktywności daemonów) Niezależna obsługa daemonów z wykorzystaniem narzędzia do ich monitoringu Obsługa intentów

44 Rezultaty Optymalizacja wykorzystania zużycia zasobów Jednoczesna realizacja wielu zadań Wywoływanie dowolnej akcji na żądanie

45 Czas na pytania

46


Pobierz ppt "Prezentują: Marek Wałach UX Designer Marcin Ceran PHP Developer."

Podobne prezentacje


Reklamy Google