CREAWEB / DOŚWIADCZENIE

iFotos: hosting zdjęć pod dużym obciążeniem.

Własny serwis rozwijany przez wiele lat — od aplikacji po infrastrukturę, która dostarczała zdjęcia przy pełnym wykorzystaniu łączy.

WŁASNY PROJEKT

iFotos

Serwis do przechowywania i udostępniania zdjęć online. Projekt obejmował aplikację, obsługę plików i utrzymanie serwerów.

NginxPHP-FPMXCacheMySQL

Co to był za projekt

iFotos działał przez wiele lat jako hosting zdjęć. Rozwój serwisu obejmował zarówno funkcje dla użytkowników, jak i zaplecze techniczne: przechowywanie plików, metadane, liczniki odsłon oraz dostarczanie zdjęć przy dużym ruchu.

4serwery dedykowane
1 Gb/słącze każdego serwera
~40%obciążenie CPU przy pełnym transferze

Pełne łącza przy zapasie mocy procesorów

W godzinach szczytu łącza serwerów były wykorzystywane do granic przepustowości, podczas gdy procesory pracowały średnio na poziomie około 40%. Rozdzielenie logiki aplikacji od wysyłania plików pozwoliło obsłużyć ruch na dostępnej infrastrukturze.

Jak to rozwiązaliśmy

PHP obsługiwało metadane i liczniki odsłon w pamięci podręcznej. Po sprawdzeniu żądania przekazywało plik do Nginx przez X-Accel-Redirect; Nginx wysyłał zdjęcie bez angażowania procesu PHP w cały transfer. MySQL przechowywał dane serwisu.

Pełne łącza i zapas mocy CPU pokazały, że ograniczone zasoby można wykorzystać lepiej przez właściwy podział pracy.

iFotos był własnym projektem. Podane wartości opisują godziny szczytu i są przybliżone.

CO WNOSIMY DO NOWYCH PROJEKTÓW

Szukamy rzeczywistego ograniczenia.

Podobne decyzje mają znaczenie w aplikacjach biznesowych, integracjach i pracy z dużą liczbą plików lub danych.

01

Pomiar

Najpierw sprawdzamy, gdzie system zużywa czas i zasoby.

02

Podział odpowiedzialności

Każda część infrastruktury wykonuje zadanie, do którego najlepiej się nadaje.

03

Koszt utrzymania

Wydajność oceniamy razem z prostotą wdrożenia i dalszej obsługi.

NASTĘPNY KROK

Masz system, który zwalnia przy rosnącym ruchu?

Opisz, co dzieje się w godzinach największego obciążenia.

Porozmawiajmy o projekcie