Witryna o dużej przepustowości… użyć kolokacji?

11

Pracuję na stronie internetowej, która prawdopodobnie będzie bardzo obciążać przepustowość. Główną cechą witryny, gdy jest ona aktywnie używana, może pobierać do 1 Mb / s na jedną sesję. Na szczęście, gdy użytkownicy przejdą przez nowy czynnik zabawki, korzystanie z tej funkcji będzie prawdopodobnie wynosić 1-5% lub mniej (prawdopodobnie znacznie mniej) czasu sesji.

Jednak nowi użytkownicy prawdopodobnie będą dobrze bawić się tą funkcją, szczególnie podczas uruchamiania. Jestem bardzo zaniepokojony wykorzystaniem przepustowości.

To mniej więcej niszowy rynek, więc nigdy nie będę musiał skalować się do szalonych poziomów, takich jak YouTube. Jest jednak całkowicie możliwe, że będzie to kilka terabajtów / miesiąc.

Czy kolokacja jest moją najlepszą opcją? Jakie są tanie usługi przepustowości (kolokacja / hostowane / chmury / cokolwiek)?

darron
źródło
Ile faktycznie przepustowości mówimy (szczyty), która określa poziom zaangażowania, co ma duży wpływ na to, czy colo jest dobrym pomysłem, czy nie (biorąc pod uwagę fakt, że fakturowanie płytek w 95% jest dość powszechne)
Tim Post
1
Okej, myślę, że skłaniam się ku ustaleniu twardego limitu na poziomie 10 Mb / s. Mogę mieć ograniczoną fazę beta. Zacznę od tego, że jest szeroko otwarty i przejdę na ograniczone konta podglądu, jeśli zostanę zalany. To powinno działać.
darron,
Bardzo ciekawy, jakiego rodzaju generujesz dynamiczną treść, która wymaga pobrania 1 Mb / s! Wideo na żywo? W każdym razie możesz sprawdzić to powiązane pytanie: serverfault.com/questions/148629
Greg Bray

Odpowiedzi:

6

Wiele zależy od tego, ile oczekujesz równoczesnych sesji. Jeśli prawdopodobne jest, że wystąpi więcej niż kilka równoczesnych sesji, będziesz potrzebować czegoś, co zapewni Ci połączenie 100 Mb, 1 Gbit, jeśli oczekujesz więcej niż 50.

Będzie to również zależeć od wymaganej odporności - jeśli musisz mieć gwarancje dostępności i inne umowy SLA i / lub systemy przełączania awaryjnego, aby przejąć kontrolę w przypadku problemu (ponieważ projekt jest wystarczająco ważny na krótki okres przestoju być krępującym), wtedy twoje opcje są bardziej ograniczone, a twoje koszty będą wyższe.

Jeśli możesz oddzielić duże dane od reszty aplikacji, nie musisz przenosić wszystkiego do nowego rozwiązania hostingowego. Na przykład, jeśli elementy o dużej przepustowości są plikami wideo, możesz wynająć gdzieś dedykowany serwer z dobrą przepustowością i hostować je na tym - w dzisiejszych czasach możesz uzyskać serwery na dobrych hostach z przyzwoitą przepustowością i połączeniami 100mbit + zaskakująco tanio (płacę 50 $ / miesiąc dla małego serwera z łączem 10 Mb, który mógłbym nasycić w obu kierunkach 24/7 w razie potrzeby, więc łącze 100 Mb z podłączonym silniejszym serwerem nie będzie drogie, chyba że potrzebujesz gwarantowanej dostępności i innych umów SLA i / lub serwera zarządzanie od dostawcy hostingu). Jeśli serwer obsługuje tylko pliki statyczne (nawet duże), nie potrzebujesz dużo komputera pod względem procesora i pamięci RAM, tylko szybkie dyski i przepustowość. Warto również przyjrzeć się rozwiązaniom hostowanym w „chmurze” lub sieci dostarczania treści - można je łatwiej skalować, jeśli nie zgadniesz, ile przepustowości potrzebujesz teoretycznie o wiele bardziej odporne (dzięki czemu możesz uzyskać przyzwoitą gwarancję czasu działania z rekompensatą, jeśli nie dotrzymają tej umowy SLA). Dodatkową zaletą jest oddzielne działanie zwiększania przepustowości w ten sposób, ponieważ jeśli funkcja wysokiej przepustowości przyciągnie wystarczającą uwagę, aby zaindeksować, nie zablokuje wszystkich innych funkcji w tym samym czasie.

David Spillett
źródło
Bez umów SLA, bez szalonych wymagań dotyczących czasu pracy. Obecnie używa przyzwoitej ilości procesora / pamięci RAM na sesję. Jednak pojedyncze pudełko powinno obsłużyć dużą liczbę równoczesnych sesji.
darron
1

Czysto historycznie:
w czasach przed grami na Facebooku wszyscy byli w przeglądarkach MMO w formacie tekstowym.

Stosunkowo nowym był Ogame. Był ciężki graficznie i miał system map 9-krotnie 999 stron (9 wszechświatów z 999 sektorami z miejscem na 15 planet każda, a każda planeta mogła mieć księżyc).

Liczba dołączających użytkowników była szalona, ​​a natężenie ruchu jeszcze większe.

Co więc zrobili, aby to rozwiązać? Zaczęli używać systemu szablonów PHP i pozwalali użytkownikom na hostowanie samych obrazów i plików CSS. Wszystko, co musisz zrobić, to kliknąć pole wyboru i wprowadzić bezwzględną ścieżkę do folderu podstawowego. Zapisaliby to w swojej bazie danych, użyli <base>elementu HTML , a system szablonów ustawił identyfikator URI z http: // ścieżka / do / obrazu do pliku: /// ścieżka / do / obrazu

Następnie wszystkie linki img mogą pozostać bez zmian. Nic nie trzeba było pobierać, ponieważ użytkownicy już go mieli. Oznacza to szybsze ładowanie strony dla użytkownika (co oznacza lepsze recenzje produktów), a także niższe wykorzystanie przepustowości dla firmy hostującej witrynę.

I jako dodatkowy bonus, sprzedali go jako „stwórz własne tła i obrazy, czyż nie jesteśmy miłymi facetami, pozwalając ci to robić?”

KdgDev
źródło
1

Mamy witrynę o dużym ruchu i wiele zdjęć, które są ładowane na każdej stronie. Mamy dedykowane serwery, ale postanowiliśmy umieścić zdjęcia na Amazon S3 . Wygląda na to, że mówisz o plikach wideo lub o innym dużym pliku, który, jak sądzę, nadal miałby zastosowanie. Oto kilka zalet i wad (dla nas)

Plusy

  • Na naszych serwerach potrzeba mniej miejsca na dysku
  • Mniejsza przepustowość dla naszych serwerów
  • Nasze pliki dziennika są znacznie mniejsze
  • Możemy łatwo zintegrować go z Amazon CloudFront, aby przyspieszyć ładowanie dla odwiedzających

Cons

  • Kosztuje O MAŁO więcej. Możemy zaoszczędzić trochę pieniędzy, mając je na własnych serwerach
  • Mniejsza kontrola nad nimi (Amazon) spada ... na szczęście dla nas, tak naprawdę nie upadają. :)

inne przemyślenia

Jeśli nie mówisz o plikach multimedialnych lub pobieraniu dużych plików, moja odpowiedź i kilka innych może nie mieć sensu. Podaj nam więcej szczegółów, a my dołożymy wszelkich starań, aby pomóc.

Micky McQuade
źródło
0

Wygląda na to, że musisz zobaczyć CDN, taki jak Amazon Cloudfront .

Sprawdź następujące pytania do dyskusji na temat korzystania z sieci CDN:

artlung
źródło
Colo może faktycznie mieć większy sens, jeśli może uzasadnić minimalne zatwierdzenie (zwykle 5 MB) rachunkiem za 95. percentyl. Oznacza to, że nigdy nie będzie płacił za 5% szczytów, co w efekcie jest tańsze niż CDN innej firmy. Trudno powiedzieć, naprawdę musimy zobaczyć, ile dokładnie zużywa.
Tim Post
Moje zastosowanie będzie prawie całkowicie dynamiczne, z dużym obciążeniem procesora / pamięci na sesję. Po zabawie za pomocą narzędzia do szacowania cen AWS wydaje się, że znacznie tańsze jest przejście z kolokacją.
darron
Ach, przypuszczałem, że ciężkie pasma byłyby mediami, które można umieścić na CDN, brzmi to tak, jakbym się mylił. Chociaż jeśli masz dynamiczne fragmenty, które są przetwarzane w przewidywalny sposób (skończony zestaw możliwych „fragmentów” danych), nadal możesz umieścić to wszystko w CDN. Przestanę teraz zgadywać o Twojej aplikacji. :-)
artlung
0

W zależności od docelowego stanu / kraju (lub świata) użyłbym wielu rozwiązań klastrowych („chmury”) w różnych lokalizacjach (sieci lokalizacji powinny być sprawdzane ;-)). Z jednej strony masz pełną kontrolę nad CDN, ale z drugiej strony masz wiele do zrobienia (np. Monitorowanie, dbanie o infrastrukturę programową i sprzętową i wiele innych).

Tak więc „zarządzane” rozwiązania, takie jak AWS czy coś takiego. Istnieje wielu dostawców CDN / Cloud, którzy zapewniają szeroki zakres funkcji.

OFFTOPIC: Spójrz na Puppet [1] :-)

[1] http://www.puppetlabs.com/

fwaechter
źródło
0

Tak, powinieneś używać Amazon AWS coś podobnego.

użytkownik4801
źródło