Optymalizacja wydajności serwisu Futbolowo.pl
Optymalizacja wydajności serwisu internetowego Futbolowo.pl, przeprowadzona przez Hostersów, polegała na wdrożeniu shardingu bazy danych, co pozwoliło na bezproblemowy napływ nowych użytkowników.
Optymalizacja wydajności serwisu Futbolowo.pl – opis projektu
Serwis Futbolowo.pl jest obecny w polskim Internecie od lutego 2008 roku. Według danych Google Ad Planner z grudnia 2009 roku witryna notuje miesięcznie 1,5 mln wizyt. Serwis oferuje zarejestrowanym użytkownikom możliwość darmowego tworzenia oraz prowadzenia strony internetowej klubu piłkarskiego w oparciu o udostępniony mechanizm.
Wyzwanie
Serwis internetowy Futbolowo.pl napotkał barierę rozwoju w postaci wydajności bazy danych. Hostersi wspólnie z twórcami serwisu przeprowadzili diagnozę problemu. Liczba zapytań do bazy danych była tak duża, że pojedynczy serwer o przeciętnej mocy nie był w stanie ich obsłużyć. Najprostszym rozwiązaniem było dostawienie większej liczby serwerów o dużej mocy obliczeniowej oraz zastosowanie replikacji bazy danych na dodatkowe serwery (praca w trybie master-slave). Nie było to jednak rozwiązanie optymalne z punktu widzenia kosztów utrzymania infrastruktury
Realizacja
Optymalnym rozwiązaniem pozwalającym na znaczne obniżenie wymaganej liczby oraz niezbędnej wydajności pojedynczych serwerów okazał się sharding bazy danych. Sharding polega na podziale jednej bazy danych na kilka mniejszych baz według określonego klucza. W naszym przypadku kluczem był pojedynczy klub piłkarski. Bazy danych poszczególnych klubów zostały rozłożone równomiernie pomiędzy serwery, tak aby każdy serwer bazodanowy obsługiwał zbliżoną liczbę zapytań.
Aby można było wdrożyć takie rozwiązanie najpierw należało wprowadzić odpowiednie zmiany zarówno do warstwy aplikacyjnej, jak i do warstwy systemu operacyjnego, tak aby aplikacja mogła korzystać z klinku baz danych w różnych lokalizacjach równocześnie.
W efekcie architektura baz danych jest w pełni skalowalna i nie jest już przeszkodą w dalszym rozwoju serwisu, a jednocześnie właściciele serwisu nie są narażeni na duże wydatki związane z natychmiastowym zakupem kolejnych serwerów.
W wyniku działań optymalizacyjnych zakup serwerów został odłożony do momentu znacznego przyrostu liczby użytkowników.
Korzyści biznesowe
Przeprowadzone działania optymalizacyjne zlikwidowały techniczną barierę dla szybkiego napływu nowych użytkowników, a tym samym przychodów dla właścicieli serwisu Futbolowo.com.
W ciągu zaledwie dwóch tygodni po wdrożeniu optymalizacji wydajnościowej liczba zarejestrowanych w portalu stron klubów piłkarskich uległa podwojeniu z 1,5 tys. w połowie października do 3 tys. w ostatnim dniu października 2008 roku.