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 :)