Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Umieszczenie części grafiki na subdomenie
Forum PHP.pl > Forum > Po stronie przeglądarki
mrok
Mam layout z dużą ilością małych obrazków i widzę, że ich ładowanie staje się powoli wąskim gardłem przeglądarki. Niestety css:sprites nie wchodzi w grę.
Doczytałem, że przeglądarki mogę mieć tylko od 4 do 8 równoległych połączeń do 'domeny' - w takim razie większa ilość grafiki po prostu blokuj je sama z siebie. Rozwiązaniem może być trzymanie części grafik na subdomenach. Nie wiem tylko czy dobrym pomysłem jest stworzenie tej subdomeny na tym samym serwerze na którym stoi reszta aplikacji (ot przekierować subdomene na katalog z grafiką) - czy powinien być to kompletnie inny serwer. Celem jest oczywiście zmultiplikowanie ilości równolegle otwartych połaczeń.
Crozin
Tak, ma to sens. I możesz tam trzymać nie tylko grafikę, ale i arkusze CSS jak i skrypty JS. Jeżeli istnieje taka potrzeba możesz wykorzystać nawet całą serię takich subdomen: static1.domain, static2.domain, static3.domain, ...
mrok
A to że fizycznie jest to ta sama maszyna nie ma znaczenia? czy tak?
kilas88
Cytat(mrok @ 30.06.2010, 00:25:47 ) *
A to że fizycznie jest to ta sama maszyna nie ma znaczenia? czy tak?

I tak i nie.

Tak: dobrze by było mieć osobną maszynę do obiektów statycznych, która miałaby wyłączone różne badziewne moduły, aby serwer był lepiej zoptymalizowany pod konkretne dane, jakie przechowuje.

Nie: rozkładając obiekty na różne dane przeglądarka może pobierać więcej obiektów na raz (poczytaj o Across Domains).

http://yuiblog.com/blog/2007/04/11/perform...research-part-4
erix
Cytat
A to że fizycznie jest to ta sama maszyna nie ma znaczenia? czy tak?

Cytat
Tak: dobrze by było mieć osobną maszynę do obiektów statycznych, która miałaby wyłączone różne badziewne moduły, aby serwer był lepiej zoptymalizowany pod konkretne dane, jakie przechowuje.

Robi się inaczej. winksmiley.jpg

Na porcie 80 stawia się reverse proxy, które - na podstawie subdomen - rozdziela żądania na właściwe httpd: w tym wypadku dwa - jeden dla statyków, drugi dla dynamicznych. Więc nie ma to zbyt dużego znaczenia i można sobie poradzić. winksmiley.jpg W większości przypadków zdarza się tak, że reverse proxy idealnie nadaje się do serwowania treści statycznej; chyba jedną z częściej spotykanych kombinacji jest tandem nginx + apache (nginx = static, apache = dynamic).

A jeśli nie ma możliwości, to wtedy wystarczy sama subdomena, bo:
Cytat
Nie: rozkładając obiekty na różne dane przeglądarka może pobierać więcej obiektów na raz (poczytaj o Across Domains).

Nie tyle co o across domains, co o Content Delivery Network:
  • ciastka z głównej domeny nie są przesyłane
  • można łatwo przerzucać na inne maszyny
  • można przenieść wszystko nawet do chmury, np. Amazon S3 bez jakichś specjalnych trudności
  • ew. przerzucić na klaster z load balancerem
kilas88
Cytat(erix @ 30.06.2010, 01:05:36 ) *
Nie tyle co o across domains, co o Content Delivery Network

Miałem na myśli Across domains, tzn. mowa o ograniczeniu przeglądarek do pobierania tylko dwóch obiektów z tej samej domeny w tym samym czasie. Dla dzisiejszych łącz śmiało można zignorować to ograniczenie i przenieść obiekty na różne subdomeny.

Choć faktycznie, CDN to kolejny argument (czy zestaw argumentów).
mrok
Ok, dziękuję za informacje
erix
Cytat
Miałem na myśli Across domains, tzn. mowa o ograniczeniu przeglądarek do pobierania tylko dwóch obiektów z tej samej domeny w tym samym czasie.

Akurat to zależy od konfiguracji przeglądarki; tylko IE ma taki dziwny limit. winksmiley.jpg
thek
Cytat
tylko IE ma taki dziwny limit
... który można zmienić bawiąc się w rejestrze windowsa winksmiley.jpg
erix
Tak czekałem, aż ktoś o tym powie. biggrin.gif
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.