Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne]Dokupienie dodatkowej przepustowości serwera?
-Gość-
post
Post #1





Goście







Wyjaśnię na przykładowej stronie o co mi chodzi.
Jest przykładowo strona o piłkarskiej Lidze Mistrzów (strona jest na serwerze dedykowanym, przepustowość 100 Mbit, transfer miesięczny 5000 GB).
Strona chodzi bardzo dobrze z wyjątkiem środy, w godzinach 21-23 (czyli pory w której odbywają się mecze). Wtedy radykalnie wzrasta ilość użytkowników, którzy odwiedzają stronę, serwer nie wytrzymuje takiego ruchu i strona przestaje działać.

1. Jaki parametr za to odpowiada? Chyba przepustowość łącza? (dodam, że transfer miesięczny 5000 GB nie jest wykorzystywany nawet w połowie, więc to raczej nie kwestia transferu miesięcznego)
2. Jeżeli to przepustowość, to czy da się dokupić na te 2 godziny dodatkową przepustowość? Powiedzmy jak normalnie serwer ma przepustowość 100 Mbps, to na 2 godziny dokupuję dodatkowe 300 Mbps. Tylko czy firmy hostingowe na takie coś się zgodzą? Czy jest to w ogóle możliwe?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
skleps
post
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 9
Dołączył: 3.03.2011

Ostrzeżenie: (0%)
-----


Mam nieodparte wrażenie, że nie do końca wiesz o czym piszę.

Poczytaj o tym, np:
http://forum.nospor.pl/programowanie/php/c...hodzi-ft27.html
Go to the top of the page
+Quote Post
-Gość-
post
Post #3





Goście







Cytat(skleps @ 28.11.2012, 14:39:18 ) *


Dzięki za linki.

Na podanej stronie jest napisane:
"Generalnie cache służy do przyspieszenia generowania strony oraz do zmniejszenia obciążenia systemu."

Stąd miałbym pytanie. Powiedzmy, że na jakiejś stronie www jest bardzo duży ruch i w wyniku przeciążenia serwera strona ta przestaje działać.
Czy gdyby na tej stronie wiele rzeczy było cacheowanych (np. odwołania do plików tekstowych, czy relacyjnej bazy danych), to strona ta dzięki temu miała by dużo większe szans działać (mimo ogromnego ruchu), bo obciążenie serwera byłoby znacznie mniejsze (właśnie dzięki temu cacheowaniu)?
Dobrze rozumiem?
Go to the top of the page
+Quote Post
skleps
post
Post #4





Grupa: Zarejestrowani
Postów: 142
Pomógł: 9
Dołączył: 3.03.2011

Ostrzeżenie: (0%)
-----


Cytat(Gość @ 28.11.2012, 23:33:23 ) *
Na podanej stronie jest napisane:
"Generalnie cache służy do przyspieszenia generowania strony oraz do zmniejszenia obciążenia systemu."

Stąd miałbym pytanie. Powiedzmy, że na jakiejś stronie www jest bardzo duży ruch i w wyniku przeciążenia serwera strona ta przestaje działać.
Czy gdyby na tej stronie wiele rzeczy było cacheowanych (np. odwołania do plików tekstowych, czy relacyjnej bazy danych), to strona ta dzięki temu miała by dużo większe szans działać (mimo ogromnego ruchu), bo obciążenie serwera byłoby znacznie mniejsze (właśnie dzięki temu cacheowaniu)?
Dobrze rozumiem?


Mniej więcej tak.

Ostro trywializuję poniżej, więc proszę forumowiczów: nie lać i nie wymądrzać się na temat poniższego.

Jak działa strona niecachowana:
Skrypt leci po kolei po poleceniach, a tam gdzie napotka zapytania sql to zadaje pytania bazie i czeka na jej odpowiedz.
Jak dostanie odpowiedź z bazy, to musi ją obrobić w jakąś wizualną formę i wysłać jako kod HTML
Jeśli zapytań na stronie/skrypcie będzie np. 20 to zabawę z odpytywaniem bazy, czekaniem na odpowiedź i obrabianiem odpowiedzi skrypt musi zrobić 20x.
To trwa, blokuje połączenia serwera www, angażuje bazę danych, zużywa czas procesora i RAM.
Jeśli internautów wchodzących na daną stronę w sekundzie będzie 100, to trzeba sobie powyższe przemnożyć (zużycie RAMu i procesora też).

Ale jeśli tychże 100 internautów i tak ma dostać to samo, to po co 100x łączyć się z bazą i czekać na odpwoiedzi?
I tutaj wkracza właśnie cache - stronę lub jej fragmenty można przechowywać jako pliki cache, a nie generować za każdym razem.
Wystarczy w skrypcie zawrzeć, żeby sprawdzał czy jest plik cache i jest ważny w czasie - wtedy przy pierwszym internaucie trzeba zrobić procedurę jak powyżej, z tym ze wyniki zapisujemy sobie do pliku cache.
Ale przy pozostałych 99 już nie trzeba angażować bazy danych, tylko wysłać im gotowe, przygotowane w plikach cache dane - oszczędność zasobów serwera kolosalna, a tym samym można obsłużyć więcej internautów.

Oczywiście wszystko zależy od typu serwisu i zmienności danych, ale użycie cache pozwala całkiem sporo zwiększyć "wytrzymałość" serwera.

Z porad praktycznych:
1. nie trzeba cacheować całych stron, można przechowywać w cache ich części, niezmienne elementy (np. boksy z newsami)
2. ważność czasowa oznacza, że dany plik cache (czyli strona lub jej elementy) jest ważny przez określony czas, a później zostaje odświeżony na podstawie odpowiedzi z bazy.

Nijak nie uciekniemy od tego, ze serwer www musi obsłużyć zapytanie internauty, ale co innego gdy do wysłania gotowej strony www będzie potrzebny tylko serwer www + pliki cache,
a co innego gdy będzie potrzebny serwer www + serwer bazy danych + cała zabawa w obróbkę danych.

Ten post edytował skleps 29.11.2012, 00:23:45
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 11:34