Skocz do zawartości

Sposoby zmniejszenia transferu


papieros

Rekomendowane odpowiedzi

  • Odpowiedzi 33
  • Dodano
  • Ostatniej odpowiedzi

tędy

(informacją o źle ustawionym zegarze na serwerze się nie przejmuj)

dla obrazków mod_expires - żeby kesze wiedziały, że przez jakiś czas mogą to trzymać (szkoda, że confa nie możesz ruszyć)

dla stron - masz na siłę ustawione, żeby się nie buforowało, poza tym mod_rewrite troszkę pomoże - squid (takie pspolite proxy) ma standardowo ustawione, żeby nie buforować jeśli jest znak zapytania w adresie (jeszcze większa szkoda, że confa nie możesz ruszyć). I do tego phpsessid - pomijam, że w urlu jest zbędne (ustawiane jest i tak w ciastku), ale gdyby w ciastku też nie było to kesze mogły by to zapisywać bez żadnych wątpliwości.

Odnośnik do komentarza
Udostępnij na innych stronach

Polecam cachować zapytania do bazy danych - ale po co ?

MYSQL mam genialne mechanizmy cachowania wbudowane wewnąrz siebie i niewiele jesteśmy w stanie polepszyć. Przy malutkich bazach rzędu 10 - 30 000 rekordów czasy wyszukiwani awogóle są pomijalnie małe. Chyba, że szukamy po nizaidexowanych polach, albo piramy się przy LIKE '%cośtam%'. Chociaż ostatni test powalił mnie na nogi.

Zrboiłem bazę testową 70 000 rekoródów - założyłem wyszukiwanie pełnotekstowe i ziut małem wyniki po 0,05 - 0.2 sekund. Potem dla jaj spróbowałem "nieekologocznym" LIKE "%%" - wynik był podobny. Oczywiście te dwa typy wyszukiwania się różnia, ale obydwa dziłały rewelacyjnie szybko na zwykłaych komercyjnych kontach.

Odnośnik do komentarza
Udostępnij na innych stronach

Polecam cachować zapytania do bazy danych - ale po co ?
i ziut małem wyniki po 0,05 - 0.2 sekund

OK, jeżeli będziesz obsługiwał np 500-1000 userów na dobe to można się zgodzić, że "po co" (aczkolwiek i tak polecam), a co jeżeli będziesz obsługiwał paredziesiąt tysięcy uników na dobe ? Wtedy chyba nie powiesz, że po co ?

Zasada wydaje się być prosta:

1. po co czekać na wyniki po 3 sekundy jak można szybciej je uzyskać.

2. po co obciążać dyski

Tak samo można by powiedzieć po co odciążyć parser PHP od kodu HTML ?

Lżej dla parsera, szybciejsza odpowiedz 8)

To samo tyczy się wykonywania zapytań do bazy danych jeżeli chcemy wyciągnąć tylko jedną daną, spotyka się takie pytanie

SELECT * FROM tabela

a nie prościej i lepiej zadać takie

SELECT pole FROM tabela

I jedno i druge zapytanie jest prawidłowe i działa lecz jeżeli chcemy tylko z jednego pola wyciągać dane to po co "latać" po wszystkich polach ?

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Napisałeś:

2. po co obciążać dyski

a jak niby chiałbyś w PHP buforować wyniki zapytań SQL'a, żeby nie obciążac dysków ? - po za tym po to się ogranicza wielkości baz danych, żeby całe mieściły się w pamięci komputera.

PO ZA TYM NIC nie da buforowanie zapytań (a w zasadzie odpowiedzi !) w samym PHP bo mechanizm buforowania MYSQL'a jest WYDAJNIEJSZY dla dużej ilości zapytań (chyba, że baza danych jest nieumiejętnie skonfigurowana)

Może myślałeś o buforowaniu html'a - co jest banalne i faktycznie nieprzeciętnie wydajne - jeżeli chodzi o ograniczenie zapytań do Mysql i prasowania.

Musimy też sobie zdać sprawę z wydajności dzisiejszych komputerów - to o czym piszemy było bardzo ważne parę lat temu. Dzisiaj pomimo, że PHP jako język programowania jest dosyć niewydajny, prędkość dzisiejszych PC-tów doprowadza do tego, że praktycznie czystym kodem trudno jest jakoś zauważalnie spowolnić działanie strony!.

Owszem zdaża się przy korzystaniu z rozwiązań free przy których każdy dokłada swoje 3 grosze, że ilośc nipotrzebnie wykonaych opracji tysiąckrotnie przekracza to co trzeba i wtedy czuć opóźnienie :(.

Lepiej skupić się więc na samej optymalizacji zapytań i kodu.

Przykład - zwykły serwis, zwykłe bazy danych, zwykły "tani" hosting - 50 zapytań mysql przy otwarciu strony głównej w tym kilka INSERTÓW (statystki :-) - www.pinia.pl i na dole ostatnia informacja po linkach to czas wykonania skryptów wraz z zapytaniami SQL.

A trzeba pamiętać, że nie jestem sam na tym koputerze :-).

oznacza to, że żeby stale blokować wydajność komputera u providera - potrzebowałbym (policzyłem) transferu rzędu 1 000 GB miesięcznie.

Odnośnik do komentarza
Udostępnij na innych stronach

PO ZA TYM NIC nie da buforowanie zapytań

Najwyraźniej mnie nie zrozumiałeś ponieważ ja nie mówiłem o buforowaniu lecz o cachowaniu zapytań do bazy, a to przecież całkowicie co innego

Musimy też sobie zdać sprawę z wydajności dzisiejszych komputerów - to o czym piszemy było bardzo ważne parę lat temu.
praktycznie czystym kodem trudno jest jakoś zauważalnie spowolnić działanie strony!.

No powiedziałbym coś innego :cry: Niestety jedna z firm, która świadczy usługi hostingowe jak zaczynała to ładnie konta u nich pracowały, teraz jak mają pare tysięcy kont pozakładane (z tego co się orientuję) to maszyny już nie dają rady :cry: i podejżewam, że jakby wszyscy użytkowinicy poprawnym językiem się pozługiwali (poprawny = zoptymalizowany) to napewno efekt byłby widoczny dla wszystkich userów mających tam konta.

Czyli podtrzymuję to co wcześniej:

Jak jesteś sam na maszynie to możesz szaleć z buforowaniem, zapytaniami i co tam się tylko podoba ale jak już jest większy ruch to niestety takie (wydawać by się mogło pierdółki jak zapytania itd) muszą być odpowiednio napisane i zoptymalizowane bo inaczej mulimy całą maszyne :cry:

Odnośnik do komentarza
Udostępnij na innych stronach

Panowie, topic jest o ograniczeniu transferu na zewnatrz serwera i być może cachowanie zapytań do bazy jest przydatne ale w tym wypadku nic nie da.

Polecam cachować zapytania do bazy danych, jeżeli chodzi o grafike to pierwszy raz się z tym spotkałem, w zasadzie nie miało by to najmniejszego sensu

jesli chodzi o temat topicu to miałoby i to jak najbardziej

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności