Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CDN] Subdomena dla stałych treści strony
Forum PHP.pl > Forum > Przedszkole
vokiel
Mam pytanko odnośnie CDN (Content Delivery Network), czyli tworzenia tak jakby rozproszonej architektury w celu minimalizacji czasu ładowania strony poprzez rozdzielenie treści na kilka serwerów. Idea pomysłu, nad któym się zastanawiam byłbay troche inna niż ta oryginalna CDN, a mianowicie rozważałęm opcję utworzenia subdomeny dla elementów stałych (css, img, js) i ew umieszczenie jej na innym serwerze.

Ciekawi mnie czy samo utworzenie subdomeny, i ładowanie grafiki, css i js z niej jest w stanie przyśpieszyć ładowanie się strony (czy przeglądarka nawiąże więcej połączeń z serwerem, gdy np obrazki będą linkowane jako http://img.domena.pl/bg.jpg?

Oraz o ile może być wydajniej gdy elementy te będą umieszczone na oddzielnym hostingu.

Przykładowo jeśli korzysta się z hostingu współdzielonego, ma się kilka stron na jednym koncie, to może warto byłoby przenieść statyczne elementy na drugi?
Co o tym myślicie?
bełdzio
przeglądarka domyślnie pobiera jednoczesnie tylko kilka zasobów z jednej domeny / subdomeny tak więc przeniesienie stałego contentu na zewnetrzna subdomene umozliwi szybszy dostep do niego smile.gif
erix
Cytat
Ciekawi mnie czy samo utworzenie subdomeny, i ładowanie grafiki, css i js z niej jest w stanie przyśpieszyć ładowanie się strony (czy przeglądarka nawiąże więcej połączeń z serwerem, gdy np obrazki będą linkowane jako http://img.domena.pl/bg.jpg?

Tak. Ale nie sama subdomena, tylko inny host: zazwyczaj na takim serwerze są stawiane bardzo proste demony, nawet bez obsługi CGI, które serwują tylko statyczną zawartość.

I głównie na tym to polega. winksmiley.jpg Przy mało i średnio obciążonych serwisach różnicy zbyt wielkiej nie będzie. Ale takie potwory z ruchem a'la NK, czy FB już na pewno odczuwają różnice.
vokiel
Tak właśnie myślałem, że sama subdomena nie wystarczy.
Drążąc temat, to co w przypadku, gdy mam np dwie domeny:
test.pl i test.eu, na test.eu hostuje stałe elementy, a cała stronka stoi na test.pl. Ten sam serwer, tylko domena test.eu jest skierowana na katalog.
Prędkość wysyłania plików się nie zmieni, ale czy w takiej sytuacji przeglądarka nawiąże więcej połączeń? Będzie to już wszak inny adres, inna domena.
nexis
Cytat(vokiel @ 25.05.2009, 22:09:10 ) *
Drążąc temat, to co w przypadku, gdy mam np dwie domeny:
test.pl i test.eu, na test.eu hostuje stałe elementy, a cała stronka stoi na test.pl. Ten sam serwer, tylko domena test.eu jest skierowana na katalog.
Prędkość wysyłania plików się nie zmieni, ale czy w takiej sytuacji przeglądarka nawiąże więcej połączeń? Będzie to już wszak inny adres, inna domena.

Takie rozwiązanie jest raczej wymuszone. Udajesz, że odciążasz główny serwer od plików statycznych, ale tak naprawdę tego nie robisz. Trzeba też wziąć pod uwagę, że kolejna domena to dodatkowe zapytanie do serwera DNS o adres IP. Podsumowując odradzałbym takie rozwiązanie.
dr_bonzo
Cytat
Ten sam serwer, tylko domena test.eu jest skierowana na katalog.
Prędkość wysyłania plików się nie zmieni, ale czy w takiej sytuacji przeglądarka nawiąże więcej połączeń?

Np. Opera - ma limit polaczen i limit polaczen do jednego serwera - wiec rozdzielenie plikow na wiecej serwerow przyniesie ci korzysci.
ALE jesli HTML idzie z test.pl, a obrazki + css z test.eu, to ...na test.eu masz N-1 plikow do serwowania na kazdy request (bez tego 1 htmla), wiec nadal masz prawie ta sama sytuacje -- duzo polaczen do jednego serwera.
Wiec jeden serwer contentu (1 domena) nie wiele ci da.

Zobacz jak robia to duze serwisy, z ilu serwerow contentowych na raz korzystaja, popatrz na limity przegladarek.

Cytat
Przykładowo jeśli korzysta się z hostingu współdzielonego, ma się kilka stron na jednym koncie, to może warto byłoby przenieść statyczne elementy na drugi?

Taki hosting to tylko na male serwisiki sie przyda.
Na wieksze masz dedyka, mozesz tam zalozys subdomene, pod ktora inny serwer www (nginx, lighttpd, etc.) bedzie hostowal szybciej statyczne pliki.

To sa moje przemyslenia + wnioski z artykulow znalezionych w necie, nie zajmowalem sie tym w praktyce.
nexis
Cytat(dr_bonzo @ 25.05.2009, 22:37:04 ) *
Na wieksze masz dedyka, mozesz tam zalozys subdomene, pod ktora inny serwer www (nginx, lighttpd, etc.) bedzie hostowal szybciej statyczne pliki.

Wtedy najczęściej stosuje się już loadbalancing i korzysta z kilku serwerów, ale nawet na jednym powinien być wzrost wydajności.
bełdzio
Cytat(dr_bonzo @ 25.05.2009, 22:37:04 ) *
Wiec jeden serwer contentu (1 domena) nie wiele ci da.

z drugiej strony jak staly content leci z jednej domeny, a dynamiczny z 2giej (w tym generowanie jakis miniatur) to zawsze bedzie mozna troche przyspieszyc smile.gif
vokiel
Cytat
Taki hosting to tylko na male serwisiki sie przyda.

Właśnie pod takie rozwiązanie kombinuję. Jeden hosting firmowy, ale kilka aplikacji, które na nim działają.

Chciałem połączyć w jedno, gdyż część elementów się powtarza (miniaturki, ikonki, część grafik, tła + skrypty).

Zatem myślałem, że przyśpieszyłbym ładownie stron, chociażby ze względu na cache przeglądarki tych samych elementów.

W przypadku innej domeny samo odciążenie serwera nie wchodzi w grę (gdyż tak czy inaczej dane serwowane są z jednego), tylko szybsze pobieranie strony po stroie klienta.

Możliwość ustawienia ilości połączeń, ilości połączeń z serwerem:
- Opera ma (np 32, 8)
- w IE była możliwość zmian w rejestrze
- Chrome nie ma
- FF też nie ma
(albo nie potrafię znaleźć smile.gif )

Czyli praktycznych do wykorzystania możliwości pozostaje niewiele:
- dodatkowy serwer
- loadbalancing
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.