czwartek, 28 sierpnia 2014

Jakie konto shell do uploadu kupić?


Jak wybrać konto shell do uploadu i nie dać zrobić się w balona?

Czyli szybko i konkretnie na najczęściej spotykane pytania. Zaczynamy!

  • Shell czy Seedbox?
  • Technologie dostępu zdalnego
  • Parametry serwera (sprzęt, łącze, ilość osób, chwyty marketingowe – gigabity za 5zł)
  • Najpopularniejsze oprogramowanie
  • Z czego sam korzystam?

1. Shell czy Seedbox?

Konta shell, to konta przeznaczone do pracy zdalnej na odległej maszynie. My będziemy zajmować się kontami shell do uploadu, czyli takimi kontami których głównym (i zazwyczaj jedynym) zastosowaniem jest ściąganie torrentów na konto i wysyłanie ich dalej na hostingi, aby następnie udostępnić linki na wrazach. Po co udostępniamy linki też wiemy: hostingi płacą za pobrania naszych plików. Tak więc jak dokładniej wygląda takie konto shell? Dostajemy dane do logowania SSH (dostęp do shella – logowanie tekstowe) na zdalny serwer, na którym możemy samodzielnie uruchamiać dostępne oprogramowanie. Konta do uploadu zazwyczaj posiadają dostęp graficzny (VNC, NX, X2Go, RDP), czyli tak zwany „pulpit zdalny”. Jest to dla nas spore ułatwienie, ze względu na możliwość korzystania z przeglądarek internetowych, chomików itp.

Konta seedbox, to konta przeznaczone jedynie dla ściągania i uploadowania torrentów. Tutaj zazwyczaj dostajemy dostęp do FTP w celu wymiany plików między seedboxem, a naszym komputerem i rTorrenta jako klienta torrent z możliwością obsługi przez przeglądarkę internetową – tak zwane webui. Obecnie najpopularniejsze webui to ruTorrent i TorrentFlux. Seedboxy nie pozwalają na uruchamianie własnych programów. Nie możemy zalogować się na zdalny serwer przy pomocy SSH. Nie posiadamy również dostępu graficznego do takiego konta. Tak więc w naszych rozważaniach pomijamy zupełnie seedboxy ze względu na bezużyteczność tego rodzaju kont do uploadu na hostingi.

2. Technologie dostępu zdalnego

Małe porównanie pokaże nam na czym stoimy. NX odnosi się do komercyjnego NoMachine w wersji 4, a nie do darmowego i porzuconego lata temu projektu FreeNX (którego de facto nie powinieneś uznawać za bezpieczny).



VNC NX X2Go RDP
szyfrowanie (długość klucza) brak 2048bit RSA 1024bit RC4 128bit RC4
rozdzielczość obrazu z góry ustalona, dowolne proporcje dowolna,
zmiana w locie,
dowolne proporcje
dowolna, zmiana w locie,
dowolne proporcje
dowolna ,
od wersji 8.1 możliwa zmiana w locie i dowolne proporcje (Windows 2012 R2)
wiele monitorów nie tak tak tak
dźwięk brak tak tak tak
współdzielenie schowka nie tak tak tak
responsywność połączenia słaba bardzo dobra bardzo dobra bardzo dobra
ilość jednocześnie aktywnych sesji dostępu graficznego jedna na port,
sesje mogą kolidować ze sobą, domyślnie jedna
zależnie od konfiguracji zależnie od konfiguracji zależnie od konfiguracji, domyślnie jedna

Możliwości platform systemowych



Linux Windows
tunelowanie przez shella tak, SSH nie
montowanie katalogu konta shell do naszego PC tak, SSH nie
udostępnianie katalogu lokalnego dla konta shell tak, SSH / NX / X2Go tak, RDP

3. Parametry serwera

Zasoby serwera z jakich będziemy w stanie skorzystać są uzależnione od ilości osób na danym serwerze, jednak to nie ilość naszych sąsiadów jest tutaj kluczowa. Przeprowadźmy mały eksperyment myślowy. Na początek stworzymy dwie konfiguracje, a potem je porównamy:



SERWER 1 SERWER 2
Ilość osób na maszynie 6 15
Łącze do sieci Internet 1000Mbps, gwarantowane 200Mbps 1000Mbps, gwarantowane 500Mbps
Procesor Xeon W3520 Xeon E3-1240 V3
RAM 8GB 32GB
Dyski w macierzy 2 2
Konfiguracja dysków RAID 0 SOFT RAID 0 HARD + CACHE 512 MB + AKU
Typ dysków SATA 3 SAS 15k

Maszynki są bardzo podobne. Cena i pojemność kont oferowanych na serwerze 1 i serwerze 2 są identyczne. Wiadomo, że dzierżawa serwera 2 kosztuje więcej, więc jego administrator musi umieścić na nim więcej kont klientów. Na serwerze 1 jest ponad dwa razy mniej osób niż na serwerze 2. Czy to wystarczy aby uzyskać lepszą jakość usług?

Pewne fakty:
> Klienci nigdy nie wykorzystują 100% potencjału serwera w tym samym czasie.
> „Łącza bez limitu” zazwyczaj posiadają limity. Można to dość boleśnie odczuć w momencie porządnego obciążenia łącza – dlatego warto zwracać uwagę na gwarantowane parametry. Niektórzy dostawcy kont shell wynajmują serwery, które dostęp do gigabitowych łączy mają jedynie w obrębie własnej serwerowni. Wyjście na świat powoduje spadek prędkości do gwarantowanej. Oczywiście można wykonać speedtest na potwierdzenie autentyczności parametrów. Gdzie jest haczyk? Speedtest to testy oderwane od rzeczywistości. Pokazują one jedynie transfer między dwoma najbliższymi serwerami. Do tego hosterem speedtesta może być każdy, kto udostępni dostęp do swojej maszyny. Tak więc przeprowadzając test z naszego serwera A na nasz serwer B w ramach tej samej serwerowni zawsze otrzymamy najwyższe możliwe wyniki i najniższe opóźnienia. Czy hoster kont shell koniecznie musi kupować serwer pod speedtesta? Nie. Serwerownie są ogromne, często znajdują się w nich setki tysięcy serwerów spiętych wysokowydajną siecią. To znaczy, że szansa na to, że ktoś uruchomił speedtesta w  tej samej serwerowni jest duża. Czujesz magię? Jeżeli nasze łącze ma 1000Mbps w obrębie serwerowni i 200Mbps wyjścia na świat, to uruchomienie speedtesta do serwera w tym samym centrum danych zawsze pokaże 1000Mbps. Co z gwarancjami „bez limitu”? Koszt wynajmu serwera z 1000Mbps łączem to zazwyczaj kilka stówek miesięcznie. Dla porównania koszt prawdziwie nielimitowanego portu 100Mbps (czyli 10x wolniejszego) to już prawie 2000zł. Łapiesz kolejny haczyk? W serwerze za 500zł / miesiąc z 1000Mbps nie może być prawdzie nielimitowanego portu. Skąd w takim razie konta shell „bez limitu” w tak niskich cenach? Nasz hoster kupuje łącze limitowane 1000Mbps z wliczonym transferem od ok. 5TB do 50TB miesięcznie. Przeciętny klient nie robi więcej niż 3TB ruchu miesięcznie. Jeżeli serwer nie jest przeładowany, to wszyscy mogą cieszyć się „nielimitowanym” łączem 1000Mbps przez cały miesiąc. W wypadku przeładowania serwera, no cóż... Co z konta shell z miesięcznymi limitami transferów? Czy są uruchamiane na lepszych łączach? Tutaj kolejne rozczarowanie: są to usługi uruchamiane dokładnie na takich samych serwerach z miesięcznymi limitami transferu jak konta shell bez limitu.
> Procesor i RAM. W serwerach nie ma większego znaczenia czy nasz procesor jest taktowany zegarem 3GHz, czy 4GHz. Nie ma także znaczenia ilość rdzeni. Liczy się wydajności. Przykład osiąganych wyników w benchmarku PassMark:
Intel Xeon E5-2660 v2, 10 rdzeni, 20 wątków, 3GHz turbo: 13828 punktów w teście
Intel Xeon E3-1240 v3, 4 rdzenie, 8 wątków, 3,8GHz turbo: 9737 punktów w teście
Intel Core i7-3770, 4 rdzenie, 8 wątków, 3,9GHz turbo: 9392 punktów w teście
AMD Opteron 6282 SE, 16 rdzeni, 16 wątków, 3GHz turbo: 9,116 punktów w teście
Jak łatwo zauważyć, Opteron ma bardzo słabą wydajność pojedynczego rdzenia i pomimo większej liczby wątków niż Core i7-3770, czy E3-1240 nadal jest najsłabszy w stawce. W wypadku ilości ramu zasady się nie zmieniły, czyli więcej znaczy lepiej. Tutaj ważnym czynnikiem będzie ilość użytkowników na serwerze, ale o tym za chwilę
> Konfiguracja dysków twardych, RAID Soft vs RAID Hard. Jeżeli zestawiamy macierz typu RAID 0, to najważniejszą rzeczą jest synchronizacja pracy dysków i spójność danych. Jeżeli nastąpi awaria zasilania, to macierz RAID 0 Soft rozsypie się. Jeden z dysków zapisze informację X na swoich talerzach, drugi dysk nie zdąży i mamy niespójność danych. Niespójność danych w RAID 0 jest równoznaczna z utratą wszystkich danych. RAID 0 HARD z podtrzymywaniem bateryjnym (aku / FBWC / BBWC) zapobiega tego typu awariom. Wbudowany w kontroler akumulator będzie utrzymywał dane dopóki zasilanie nie zostanie przywrócone, a następnie automagicznie zsynchronizuje dyski. Nasze dane przetrwają. Dodatkowo w pełni sprzętowy kontroler dyskowy posiada własną pamięć operacyjną, własną pamięć cache i własny procesor. Tego typu kontrolery nie powodują narzutu na wydajność serwera.

Wracając do tematu Serwer 1 vs Serwer 2. Sprawdźmy:
6 osób vs 15 osób
> Łącze gwarantowane
serwer 1: 200Mbps / 6 = 33,3Mbps
serwer 2: 500Mbps / 15 = 33,3Mbps
> Procesor
serwer 1: Xeon W3520, 5,057 punktów w passmarku.
serwer 2: Xeon E3-1240 v3, 9,737 punktów w passmarku.
Userzy nigdy nie korzystają z CPU jednocześnie, więc na serwerze 2 będziesz miał więcej zasobów w danym czasie dla siebie.
> RAM
serwer 1: 8GB / 6 = 1,33GB
serwer 2: 32GB / 15 = 2,13GB
Konto shell kupujemy głównie po to, aby nasze aplikacje pracowały nawet gdy nasz komputer domowy jest wyłączony. Każdy uruchomiony program stale zajmuje pamięć RAM niezależnie od tego, jak intensywnie w danej chwili pracuje. Na serwerze 2 dostaniemy wyraźnie więcej zasobów na trzymanie naszych aplikacji stale uruchomionych. Zapewne będziemy mogli też skorzystać z większego bursta (chwilowo większe wykorzystanie ramu)i nie będziemy narażeni na to, któryś z userów zajmie całe wolne zasoby. Co to oznacza? Jeśli na serwerze 1 znajdzie się osoba która uruchomi konwersję filmu, który wcina 6G ramu na dzień dobry, to na pozostałych 5 użytkowników zostaje się jedynie 2G do podziału. To bardzo niewiele. W wypadku serwera 2 nawet jeśli 4 osoby uruchomią jednocześnie zasobożerny proces, nadal mamy więcej zasobów do naszej dyspozycji niż na serwerze 1.
> Dysk i konfiguracja dysków.
Sytuacja analogiczna, szansa na to że kilka osób uruchomi mielenie rarem w tym samym czasie co my jest niewielka. Jednak co by było gdyby tak się stało? W wypadku 2 dysków SATA (half-duplex) nasza wydajność zapisu w trybie ciągłym to ok. 230-300MBps. Zapisu do cache możemy dokonać z szybkością do 600MBps, jednak nie dostaniemy więcej niż 64MB cachu do podziału na 6 osób... W wypadku serwera drugiego wyposażonego w złącza SAS (full-duplex) i dyski SAS 15k nasz realny transfer dyskowy przy zapisie ciągły będzie oponował w przedziale 380-500MBps. Komunikacja z 512MB cache naszego sprzętowego kontrolera dysków może osiągać nawet 6000MBps, czyli 10x więcej niż w wypadku macierzy programowych. Co nam to daje? Na serwerze drugim pomimo większej ilości osób odczujemy znacznie lepszą responsywność konta shell.

Ok, wiemy teraz że ilość osób na serwerze niewiele mówi o jakości oferowanej usługi. Co w takim razie z wielkimi 2 lub 4-procesorowymi serwerami ze 128GB ramu lub więcej? Odpowiedź może Cię zaskoczyć: omijaj szerokim łukiem. Dlaczego? Żeby takie maszyny były opłacalne w zakupie dla hostera kont shell, musi on umieścić na nich nawet powyżej 50 klientów. Powiesz ok, ale przed chwilą pokazałeś że ilość klientów ma niewielkie znaczenie, więc w czym rzecz? Rzecz w łączu dostępowym do internetu. Nawet jeżeli taki wielki serwer będzie miał 6 porządnych dysków spiętych w RAID 0, to niewiele to pomoże gdy dostaniem 1Gbps niegwarantowane (pamiętasz moją wcześniejszą wypowiedź o łączach na serwerach i transferze?) łącze. Zasady się nie zmieniły. Dostaniesz molocha który ma 1000Mbps niegwarantowane z transferem 50TB / miesiąc. Na serwerze siedzi 60 klientów łącznie z tobą. Przeciętnie klient robi 3TB ruchu / miesiąc. Czyli serwer potrzebuje przynajmniej 180TB, jednak ma do dyspozycji 50TB. Szybkość połączenia spada z 1000Mbps do gwarantowanych 500Mbps. Porównaj do naszego serwera 2:
serwer 2: 500Mbps / 15 = 33,3Mbps
serwer moloch: 500Mbps / 60 = 8,33Mbps
Do tego dojdzie chęć wymiany danych po FTP i mamy pozamiatane. Responsywność pulpitu zdalnego leży i kwiczy niezależnie od użytej technologii. FTP prawie nie daje znaków życia – torrenty wysyciły całe pasmo. Jeśli będziesz chciał popracować na takiej maszynie, będziesz zmuszony zaczekać do wczesnych godzin porannych. Wtedy serwer będzie mniej obciążony. Czy jednak po to kupowałeś konto shell żeby czekać do 4 rano aby przerzucić pliki? Chyba nie o to chodzi...

4. Najpopularniejsze oprogramowanie

Nie ma się co rozpisywać. Zazwyczaj na kontach shell dostępne będą:
> przeglądarka internetowa Firefox (lub iceweasel na Debianie)
> przeglądarka internetowa Chromium (lub chrome jeśli admin się postarał)
> rTorrent lub Deluge, a w wypadku serwerów windows uTorrent
> prosty w obsłudze  menedżer plików i klient FTP
> archiwizator (przykładowo popularny WinRAR, chociaż osobiście polecam 7-Zipa lub Xarchiver)

Aplikacje są proste w obsłudze i domyślnie prekonfigurowane. Dostawcy kont shell dbają o to, aby ich klient mógł rozpocząć korzystanie z usługi bezpośrednio po jej zakupie.

5. Z czego sam korzystam?

Aktualnie posiadam konta u 3 dostawców tego typu usług. Ostatnie dostałem niejako gratis w ramach testu, ale na pewno je przedłużę. Dlatego też napomknę kilka słów o usłudze oferowanej przez torrentshell.pl :
> OS: Debian Wheezy (GNU / Linux), środowisko graficzne: XFCE 4 (proste, wygodne, przypomina pulpit Windowsa XP)
> klient BitTorrent: znany wszystkim rTorrent + webui ruTorrent, Deluge
> przeglądarka internetowa: Google Chrome, Firefox (de facto iceweasel), Midori (lekka przeglądarka internetowa)
> klient FTP: FIleZilla, gFTP
> chmura: chomikbox wersja Linux
> akceleratory pobierania: JDownloader, MultiGet, uGet, wget, aria2c i kilka innych...
> kilka prostych w użyciu menadżerów archiwów przypominających wyglądem WinRARa, w tym: Xarchiver, File-roller i Squeeze
> parę programów typowo biurowych: kalkulator, notatnik, LibreOffice, przeglądarki PDF itp.
> na moim koncie nie było wine

Niedługo mają pojawić się także tanie 1-osobowe konta do konwersji materiałów wideo. Trzymam za słowo :)

Brak komentarzy: