Wysokowydajny system składowania plików graficznych ze zdjęciami użytkowników portalu. Tomasz Paszkowski



Podobne dokumenty
Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net

Wydajny Linux. Jakub Woźniak KN Sieci Komputerowych i Systemów Rozproszonych Tenesys

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

ZAŁĄCZNIK NR 1.8 do PFU Serwery wraz z system do tworzenia kopii zapasowych i archiwizacji danych - wyposażenie serwerowni

Systemy macierzowe. www. qsantechnology. com

OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

... Podpis osoby - osób upoważnionych do składania oświadczeń woli w imieniu wykonawcy

Kinowa Biblioteka Filmowa KINOSERWER. KinoSerwer

Rozwiązania HPE Storage jak zapewnić pełne bezpieczeństwo Twoich danych?

Projekt Fstorage. Łukasz Podkalicki Bartosz Kropiewnicki

PRZETARG 01/EU/2016/SERVERS NA DOSTAWĘ, MONTAŻ I URUCHOMIENIE SERWERÓW, WIRTUALIZATORÓW, MACIERZY I OPROGRAMOWANIA ORAZ WYKUP STAREGO SPRZĘTU

GOZ /15 Warszawa, dnia r. WYKONAWCY

Kinowa Biblioteka Filmowa KINOSERWER. KinoSerwer

Wszyscy Wykonawcy. Czy Zamawiający dopuści serwer, który ma możliwość rozbudowy o 16 dysków 2,5" po odinstalowaniu napędu DVD-RW?

Strona wizytówka od 400 zł

Referat pracy dyplomowej

Opis przedmiotu zamówienia

O mnie. Tomasz Paszkowski. Architekt Infrastruktury IT.

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych.

Niniejszy dokument zawiera opis wymagań funkcjonalnych i technicznych dla dostarczanej macierzy dyskowej oraz przełączników.

Tworzenie aplikacji bazodanowych

OGŁOSZENIE O PLANOWANYM ZAKUPIE

Załącznik nr Z1. AE/ZP-27-68/14 Wymagane i oferowane paramtery techniczne. Oferowane paramtery przedmiotu zamówienia podać zakres/wartość, opisać

PROJEKT WYZWANIE. MEDtube to innowacyjny portal wymiany wiedzy dla lekarzy wykorzystujący techniki multimedialne.

CZĘŚĆ XV. Serwer stelażowy węzeł klastra obliczeniowego

ZAPYTANIE OFERTOWE. Zamawiający. Przedmiot zapytania ofertowego. Warszawa, dnia r.

Formularz specyfikacji techniczno cenowej zamawianych/oferowanych serwerów

Projektowanie i implementacja wysokowydajnych aplikacji w języku

Wirtualizacja desktopów i aplikacji.

NASZA OFERTA Serwery. dedykowane.

z dnia r. wg załącznika nr 1. Maks. 2 gniazda Gen 3, wszystkie x16

Zapytanie Ofertowe. Osobą udzielającą wyjaśnień w sprawie niniejszego zamówienia jest Zbigniew Gawrych (tel ).

PRZETARG 01/EU/2016/SERVERS NA DOSTAWĘ, MONTAŻ I URUCHOMIENIE SERWERÓW, WIRTUALIZATORÓW, MACIERZY I OPROGRAMOWANIA ORAZ WYKUP STAREGO SPRZĘTU

Standard określania klasy systemu informatycznego resortu finansów

OPIS PRZEDMIOTU ZAMÓWIENIA

2. Jakie i ile licencji Oracle 10g posiada zamawiający i czy posiada do tych licencji wsparcie techniczne?

Opis Przedmiotu Zamówienia

Petabajtowe systemy przechowywania danych dla dostawców treści

Zarządzanie infrastrukturą serwerów Blade

ARCHIWUM PAŃSTWOWE W ZIELONEJ GÓRZE

MODYFIKACJA TREŚCI SIWZ

Dane bezpieczne w chmurze

IBM FlashSystem V9000

Jarosław Kuchta. Administrowanie Systemami Komputerowymi. Klastry serwerów

Wirtualne systemy dyskowe na platformie OpenStack (KVM) Tomasz Paszkowski PLNOG 2012 Warszawa r.

Opis przedmiotu zamówienia / Formularz Oferty Technicznej (dokument należy złożyć wraz z ofertą)

ZMIANA TREŚCI SPECYFIKACJI ISTOTNYCH WARUNKÓW ZAMÓWIENIA

2. Kontroler Dwa kontrolery pracujące w trybie active-active wyposażone w min. 32GB cache (każdy). Kontroler oparty na architekturze 64 bitowej.

Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego

Backup Online. BACKUP ONLINE dla klientów telekomunikacyjnych NASK

Budowanie tanich, wysoko wydajnych i wysoko dostępnych systemów pod Linuksem Mariusz Droździel Październik 2009

Autor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki

Szanowni Państwo, za pomocą poczty elektronicznej telefonicznie pod numerem Zespół Kylos.

Oprogramowanie do wirtualizacji

Partition Wizard Home Edition Aplikacja przeznaczona do partycjonowania dysków twardych, obsługująca również macierze RAID oraz dyski o pojemności

(kody CPV: i )

Załącznik nr 1 - Szczegółowy opis przedmiotu zamówieni Specyfikacja techniczna - minimalne obligatoryjne wymagania techniczne, funkcjonalne sprzętu

NASZA OFERTA. Serwery. dedykowane.

ASUSTOR AS1002T świetny nas dla małych firm i nie tylko test

Do kogo kierujemy ofertę?

Multimedia Blogging. Tomasz Chmielewski

Uslugi chmurowe dla nauki na podstawie BonFIRE

szczegółowy opis przedmiotu zamówienia: macierz wyposażona w dwa kontrolery UWAGA!: w ofercie należy wycenić 2 szt. CPV:

Cele RAID. RAID z ang. Redundant Array of Independent Disks, Nadmiarowa macierz niezależnych dysków.

ZP10/2016: Wdrożenie usług E-zdrowie w SP ZOZ Nowe Miasto nad Pilicą.

TABELA PORÓWNAWCZA OFEROWANEGO SPRZĘTU

DZIERŻAWA I KOLOKACJA SERWERÓW DEDYKOWANYCH

ZAPYTANIE OFERTOWE. Wytworzenie i wprowadzenie na rynek platformy zarządzania systemami chmur obliczeniowych

STACJI ROBOCZYCH WIRTUALIZACJA W SEKTORZE MŚP. Krzysztof Waszkiewicz, BZ WBK Michał Aleksander Kania, EMC

Skalowalne aplikacje internetowe wysokiej dostępności

Wynajem infrastruktury serwerowej

Backup Exec Disaster Recovery - konfiguracja płyty ratunkowej i przywracanie całego systemu operacyjnego z kopii bezpieczeństwa

Serwer biznesowy o podwójnym zastosowaniu moc obliczeniowa i pamięć masowa w jednej obudowie

Szczegółowy Opis Przedmiotu Zamówienia

Odpowiedzi Zamawiającego w ramach zgłoszonych wniosków o wyjaśnienie SIWZ Dostarczenie oraz wdroŝenie Systemu kopii bezpieczeństwa (Backup)

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA (SOPZ) część 2. Lp. Nazwa parametru Minimalna wartość parametru Dane techniczne oferowanego sprzętu/model 1. 1.

Załacznik nr 6 do SIWZ. 1. Macierz Dyskowa ilość: 1 szt. NAZWA PRODCENTA:.

Zarządzanie farmami serwerów Linux

Od czego zacząć przy budowaniu środowisk wysokiej dostępności?

Konwersja maszyny fizycznej na wirtualną.

Kopie zapasowe tak szybko, że nie poczujesz

CASE STUDY NOWE MOŻLIWOŚCI ROZWOJU SZPITALA W MIĘDZYRZECZU DZIĘKI ROZWIĄZANIOM HUAWEI ENTERPRISE BRANŻA MEDYCZNA

instrukcja INSTALACJI APi_proxy

IO - Plan testów. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

Sprawa numer: BAK.WZP Warszawa, dnia 16 sierpnia 2016 r.

Opis Przedmiotu Zamówienia

Klient Medousa sp. z o.o. (Grupa Digital Avenue S.A.) Branża IT serwis społecznościowy. Okres realizacji Stale od początków istnienia Fotosik.

Wirtualizacja bez macierzy? Żaden problem.

Płatność tylko za faktycznie zużyte zasoby Zero barier wejścia (opłat minimalnych) Najniższa cena na rynku od 0,06 zł/h za serwer w chmurze i 0,0001

Sieciowe dyski wirtualne oraz VM platforma jako usługa. Bogusław Kaczałek Kon-dor GIS Konsulting

Migracja infrastruktury NK. Tomasz Paszkowski, PLNOG 2011 Kraków

Nieustanny rozwój. Tomasz Leśniewski

Konfiguracja Wymagania techniczne oferowana Producent. Rok produkcji..

ZAPRASZA DO SKŁADNIA OFERT

Inżynieria oprogramowania- Grupa dra inż. Leszka Grocholskiego II UWr 2009/2010. Aleksandra Kloc, Adam Grycner, Mateusz Łyczek. Wasza-fota.

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

Zapytanie ofertowe: System przechowywania danych

DZIERŻAWA I KOLOKACJA SERWERÓW DEDYKOWANYCH

Wykład 2. Temat: (Nie)zawodność sprzętu komputerowego. Politechnika Gdańska, Inżynieria Biomedyczna. Przedmiot:

Transkrypt:

Wysokowydajny system składowania plików graficznych ze zdjęciami użytkowników portalu t Tomasz Paszkowski

Agenda Informacje o spółce Nasza Klasa Sp. z o.o. Pierwsze wersje systemu zdjęć N-K Opis ogólny systemu zdjęć Charakterystyka techniczna: Load balancing Frontend Backend Następne kroki Inne rozwiązania

Agenda Informacje o spółce Nasza Klasa Sp. z o.o.

Nasza Klasa Sp. z o.o. Spółka Część grupy FORTICOM posiadającej serwisy społecznościowe min. w Rosji: odnoklassniki.ru, Litwie: one.lt,videogaga.lt, Łotwie: one.lv,videogaga.lv Bogate doświadczenie oraz know-how wniesione przez Forticom pozwoliło nam przejść bardzo płynie od drobnej firmy do dużej spółki internetowej Od początku działalności spółka intensywnie rozwija się w sposób organiczny Operujemy z trzech biur: Wrocław,Kraków,Warszawa Zatrudniamy ponad 120 osób w takich działach jak IT Finanse,Księgowość,Administracja (w tym HR) Marketing oraz PR Sprzedaży Rozwijamy i utrzymujemy najpopularniejszy serwis społecznościowy w polskim internecie

Nasza Klasa Sp. z o.o. No. 1 w Polskim internecie Źródło: Megapanel PBI/Gemius, czerwiec 2009, grupa: internauci w wieku 7+ Użytkownicy Odsłony Czas na użytkownika nasza-klasa.pl 11 640 468 10 440 971 023 9 h 17 min Grupa Google 15 474 727 4 120 521 558 7 h 50 min Grupa Allegro.pl 10 784 557 3 894 936 928 3 h 57 min Grupa Onet.pl 12 380 590 3 776 197 970 5 h 11 min Grupa Wirtualna Polska 10 803 086 2 494 419 422 4 h 11 min Grupa INTERIA.PL 10 268 501 1 273 816 957 2 h 56 min YouTube.com 9 217 498 1 226 900 717 3 h 48 min Grupa o2.pl 9 612 326 1 224 590 247 3 h 10 min Grupa Gazeta.pl 9 910 182 851 517 174 1 h 35 min wikipedia.org 7 728 637 214 229 742 39 min 9 s

Nasza Klasa Sp. z o.o. Infrastuktura Dwie serwerownie: Poznań, Warszawa ~ 1000 serwerów ~ 100 macierzy dyskowych fiber channel (SAS,SATA,FC) ~ 220TB dostępnej przestzenii dyskowej w RAID10 ~ 8Gb/s ruchu do sieci Internet ~ 200 000 zapytań na sekunde kierowanych do warstwy frontendowej w szczycie Większość naszego system zbudowana na oprogramowaniu opensource Nginx,Apache,LightHttpd MySQL,Memcache Linux Debian LVS,Haproxy,Squid Sporo oprogramowania napisaliśmy samodzielnie NKDB,NkCache

Agenda Pierwsze wersje systemu zdjęć N-K

Początki Jak każdym szanujący się startup zaczynaliśmy od serwera wirtualnego, gdzie cała aplikacja znajdowała się w jednym drzewie W Pierwszym tygodniu wyczerpany cały roczny limit transferu W następne kilka dni wyczerpany transfer na kolejny rok Przenosiny na dedykowany serwer w niemieckiej serwerowni Problemy wydajnościowe i decyzja o wynajęciu dedykowanego serwera pod zdjęcia, upload z aplikacji PHP po NFS-ie Dołożenie kolejnych serwerów pod zdjęcia nastąpiło bardzo szybko, upload z aplikacji PHP nadal po NFS-ie (każdy serwer PHP ma podmontowany każdy serwer ze zdjęciami po NFS-ie) Po osiągnięciu poziomu kilku serwerów PHP i kilku serwerów pod zdjęcia zapanowanie nad odpowiednim eksportem NFS staje się bardzo trudne ;) Przejście na system MogileFS (po pozytywnych doświadczeniach z memcache od tego samego zespołu developerów) Po roku mamy 160 serwerów obsługujących zdjęcia za bardzo nie równym obciążeniem (sieć,pojemność,wydajność)

Początki Zainwestowaliśmy bardzo dużo czasu w rozpracowanie MogileFS, min. przepisujemy trackera w C aby rozwiązać problem wydajnościowy oraz nie udolne komunikowanie się z bazą Z pierwotnej funkcjonalności tracker finalnie używalismy tylko 20-30% jego funkcjonalności pozostałe elementy zaimplementowaliśmy sami (min. keszowanie wyników zapytań w memcache) Centralna baza danych z lokalizacjami zdjęć się nie sprawdza, przez moment pomagamy sobie replikacją (kilka serwerów slave) W serwerach slave mamy problem z replication lag, postanawiamy wszystkie nowo dodane zdjęcia dodawać od razu do memcache Na bazie doświadczeń budujemy idea naszego systemu zdjęć i przystępujemy do jego implementacji Przenosiny do nowego systemu połączone z przeniesieniem systemu zdjęć do nowej serwerowni w Polsce

Agenda Opis ogólny systemu zdjęć

System zdjęć Usługa Podstawowym elementem naszego serwisu jest usługa hostingu zdjęć Odnawialny m-c limit na transfer zdjęć (nie ma potrzebny kasowania starych zdjęć) Możliwość dodawania wielu zdjęć naraz Możliwość komentowania zdjęć Możliwość oceniania zdjęć Możliwość polecania zdjęć Możliwość grupowania zdjęć w albumy Możliwość pinezkowania zdjęć Powiadomienie znajomych o nowo dodanym zdjęciu, komentarzu do zdjęcia itp. itd Zdjęcia prezentowane użytkownikom w trzech wersjach Miniaturka Duża wersja zdjęcia dopasowana tak aby mieściła się na naszej stronie Oryginalna wersja

System zdjęć Założenia projektowe Zagwarantowane równomierne obciążenie każdego z elementów systemu Mocno rozbudowane mechanizmy keszujące gwarantujące najwyższą wydajność systemu Minimalizacja operacji odczytu/zapisu do dysku jako operacji najbardziej czasochłonnej System prosty w obsłudze rozbudowie i migracji (w tym geograficznej z jednej serwerowni do drugiej) Możliwość lokalizacji poszczególnych elementów systemu (backend,frontend) w geograficznie oddalonych od siebie lokalizacjach z łącznością tylko przez sieć Internet Odporność na awarie pojedynczych elementów systemu Możliwość odtworzenia całego systemu w skończonym czasie po klęskach żywiołowych Bezpieczeństwo danych na pierwszym miejscu

System zdjęć Charakterystyka ruchu Największą popularność mają zdjęcia dodane najwcześniej W większości przypadków prezentujemy tylko miniaturki zdjęć (powiadomienia,lista znajomych,boksy z ostatnio dodanymi zdjęciami) Hit rate dla cache miniaturek zdjęć powyżej 98%! Aby to osiągnąć konieczne jest przemyślane zaprojektowanie pamięci cache. Ilość zapytań o zdjęcia utrzymuje się na stały poziomie, nie ma potrzeby skalowania wydajnościowej jedynie pojemnościowej (stare zdjęcia przestają być oglądane ale cały czas pozostają dostępne). Dzięki temu mamy bardzo duży zapas wydajnościowy na backendzie (o wydajności decyduje ilość dostępnych dysków). Bardzo ważne jest równomierne rozproszenie nowo dodawanych zdjęć po równo na każdy z węzłów Każde zdjęcie naszego użytkownika traktujemy jak dane (BLOB), które nie mogą absolutnie ulec zniszczeniu czy utracie Wszystkie zdjęcia dostępne pod adresem: photos.nasza-klasa.pl 3,5Gb/s ruchu do sieci Internet w szczycie 100 000 zapytań na sekundę w szczycie

Agenda Charakterystyka techniczna: Load balancing

Load balancing L3, LVS + ECMP photos.nasza-klasa.pl dla świata to jest pojedynczy adres IP: 91.206.173.228 Load balancing rozpoczyna się już na routerach brzegowych, poprzez rozproszenie zapytań na klaster serwerów LVS za pomocą tradycyjnego ECMP (L3 load balancing) Routery brzegowe kierują ruch na virtualne adresy VRRP (keepaliaved) serwerów LVS Keepalived skonfigurowany w trybie backup-backup, aby uniknąć flapowania serwisu w przypadku problemu z jedną z maszyn, na każde trzy maszyny LVS stawiamy jedną nadmiarową Każdy serwer LVS składa się z czterech kart sieciowych, ruch przychodzący kierowany jest do każdego z serwerów LVS po trzech kartach sieciowych (optymalizacja wykorzystania przerwań na serwerach z procesorami wielordzeniowymi) Serwery LVS wyposażone w karty sieciowe z MSI-X (cztery IRQ dla jednej karty sieciowej) Serwery LVS pracują w trybie direct routing LVS rozpraszają ruch na klaster serwerów HAPROXY Detekcją martwych serwerów HAPROXY zajmuje się ldirector

Loadbalancing L3-L4, HAPROXY HAPROXY terminuje połączenie od użytkownika i zestawia nowe żądanie do warstwy frontendowej HAPROXY jest bardzo wydajnym i stabilnym rozwiązaniem do rozpraszania ruch z zaawansowanymi funkcjami kontroli i kierowania ruchem W celu wykorzystania wielordzeniowych procesorów HAPROXY również wyposażone jest w cztery karty sieciowej i otrzymuje pakiety przychodzące po trzech z nich W celu optymalizacji pamięci cache w frontendzie na URL-u zapytania o zdjęcie liczony jest hash i dzięki temu żadania o wydzielone grupy zdjęć trafiają zawsze na ten sam węzeł frontendu (każde zdjęcie keszowane jest tylko w jednym z węzłów) Url hashing gwarantuje nam również równomierne rozłożenie obciążenia pomiędzy każdy z węzłów (ruch sieciowych + ilość zapytań) HAPROXY odpowiada u nas defacto za normalizacje zapytań oraz odpowiedzi (wycięcie zbędnych bądź niebezpiecznych informacji) HAPROXY aktywnie sprawdza dostępność serwerów frontendowych (HTTP check) i w przypadku wykrycia awarii jednego z nich przestaje tam kierować ruch

Agenda Charakterystyka techniczna: Frontend

Frontend Download photos.nasza-klasa.pl/numer_galerii/numer_zdjecia/typ_zdjecia/suma_kontrolna.jpeg W URL-u zakodowane mamy Numer galerii Numer zdjęcia Typ zdjęcia Suma kontrola (wyliczana również z md5 liczonego na zawartości zdjęcia) Zadaniem frontendu jest Weryfikacja poprawności URL-a poprzez przeliczenie sumy kontrolnej Jeżeli nie ma zdjęcie w pamięci kesz to pobranie go z backendu Blokada nie pożądanych zdjęć Wykrywanie martwych węzłów backendu i przełączanie się na zapasowy w przypadku awarii W chwili obecnej frontend dysponuje ~ 2TB pamięci kesz służącej wyłącznie do przechowywania zdjęć użytkowników, nie mieszczące się wpisy usuwane LRU Oprogramowaniem napędzającą tą warstwę jest Squid + nasza własna aplikacji podpięta do niego przez url redirector (stdin/stdout)

Frontend Upload Aplikacja w PHP przystosowana do przyjmowania uploadu wielu zdjęć naraz, defacto zintegrowana z główną aplikacja portalową Zadaniem aplikacji jest Pobranie zdjęcia/zdjęć od użytkownika Transraiting (imagemagick) Usunięcie niebezpiecznych elementów plików graficznych (EXIF) Wygenerowania trzech form pliku ze zdjęciem (miniaturka,duży,oryginalny format) Zapisanie zdjęcia w backendzie

Agenda Charakterystyka techniczna: Backend

Backend Zadaniem backendu jest przechowywanie plików ze zdjęciami, oraz ich serwowanie do warstwy frontendowej Ilość zapytań dochodzących do tej warstwy jest bardzo mała z racji bardzo dużej pamięci kesz warstwy frontendowej Każdy z serwerów backend ma dodatkowo dedykowane dla siebe do 16GB pamięci cache. Backend zbudowany jest w sposób nadmiarowy, każdy element węzla jest zdublowany z racji dużej ilości danych i co jest związane z tym długiego czasu odtworzenia z backupu Wszystkie dane z każdego z węzłów backendu backupowane w oddalonej geograficznie lokalizacji z pełnym zestawem danych, służącym do przywrócenia pełnej funkcjonalności usługi w krótkim czasie po totalnym zniszczeniu DC (pożar,trzęsienie ziemi,powódź...) Warstwa frontendowa odpowiedzialna jest za upload plików ze zdjęciami do każdego z elementów

Backend Sprzętem tworzącym element węzła jest serwer wyposażony w 16GB pamięci RAM, karte HBA oraz przyłączonymi do niego macierzami fiberchannel Węzły podzielone są dwie części, jedna służy do obsługi miniaturek druga do obsługi pozostałych formatów zdjęć Miniaturki przechowujemy na macierzach z dyskami SAS Pozostałe formaty przechowujemy na macierzach z dyskami SATA bądż dyskami SATA z interfejsem SAS (nowość, szybsze od swoich odpowiedników SATA), wszystkie LUN-y w RAID10 System skalujemy na pojemność ponieważ użytkownicy regularnie dodają nowe zdjęcia nie kasując starych Mamy ogromny zapas mocy (I/O) w tej części systemu z racji ciągłej konieczności dokładania nowych macierzy z dyskami twardymi Średnio m-c wymieniamy około 20 dysków twardych SATA, które ulegają awarii

Backend Backend podzielony na tzw. strefy (zony). W tej chwili mamy 1024 strefy dla dużych zdjęć oraz 256 stref dla miniaturek Przynależność zdjęcia do strefy wyliczona na podstawie funkcji hashującej przyjmującej jako parametr: Numer galerii Numer zdjęcia w galerii Typ zdjęcia Md5 z zawartości pliku ze zdjęciem Dzięki strefom uzyskujemy równomierne obciążenie każdego z węzłów pod względem: Pojemnościowym Obciążeniowym Poziomu ruchu sieciowego

Backend NKFS Pliki ze zdjęciami trzymamy w napisanym przez nas rozwiązaniu określanym mianem NKFS Każda ze stref reprezentowana jest przez pojedynczy plik na systemie plików XFS, w którym zawarte są wszystkie jej zdjęcia Struktura pliku jest bardzo prosta i zawiera kolejne zdjęcia Na każdym z serwerów backendowych uruchomiony jest serwery MySQL, który zawiera dane o ofssetach poszczególnych zdjęć w plikach stref. Nowe zdjęcie dopisywane jest na końcu pliku Zdjęcia do frontendu serwujemy za pomocą serwera LightHttpd i modułu do obsługi NKFS napisanego w C Upload zdjęć od frontendu przyjmowany jest również LightHttpd (WEBDAV) + moduł do obsługi NKFS w C Nasze testy wykazały około 30% mniejsze zapotrzebowanie na I/O rozwiązania NKFS w stosunku do tradycyjnego podejścia trzymania każdego zdjęcia w osobnym pliku w systemie XFS. W przypadku potrzeby przeniesienie strefy na inny węzeł przegrywamy po prostu jeden plik na inny serwer :-)

Agenda Następne kroki

Następne kroki Squid nie skaluje się w systemach wielordzeniowych, grupa FORTICOM stworzyła własne oprogramowanie frontend w JAVA i jesteśmy już po etapie dostosowania tego oprogramowania do naszych wymagań i uruchamiania pierwszych testów produkcyjnych Komunikacja HTTP pomiędzy frontendem a backendem nie jest najbardziej optymalną, dlatego jako serwer backendowy użyjemy również oprogramowania FORTICOM napisanego w JAVA wykorzystującego własny autorski system komunikacji z kilkukrotnie mniejszym narzutem od HTTP Rozwiązaniem z MySQL do trzymania indeksu nie jest idealne dlatego zamiast obecnego rozwiązania (MySQL + plik z danymi) będziemy wykorzystywać BerkleyDB (indeks + dane), dodatkowo uzyskamy za darmo możliwość replikacji i to pozwoli zdjąć obowiązek z frontendu polegający na dostarczeniu zdjęcia w trzy miejsca węzła (dwie kopie produkcyjne + backup) JAVA doskonale skaluje się w środowiskach wielordzeniowych Intensywnie testujemy dyski SSD (na razie w macierzach fiberchannel) pod kątem zastosowania ich jako storage dla miniaturek zdjęć dzięki temu powinna pojawić się możliwość eliminacji warstwy keszującej. W przyszłości powinna się możliwość eliminacji macierzy dyskowych i zastąpienia ich dwoma dyskami SSD w serwerze (1TB SSD już jest!!!!!)

Następne kroki Nasze testy SSD w macierzach FC pokazują rezultaty na poziomie 35 000 IOPS na 12 dyskach!!!!!!!!!!!! Dyski SSD pobierają <1W natomiast dyski SAS/SATA >10W! Ogromna ilość oszczędzonej energii pozwoli znacznie zmniejszyć TCO oraz gęstość upakowania w szafie (24 dyski w 3U instalowane od frontu)

Inne rozwiązania Haystack, Facebook http://www.facebook.com/note.php?note_id=76191543919 MogileFS, Danga http://www.danga.com/mogilefs/

Pytania Pytania?