![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 0 Dołączył: 22.09.2007 Ostrzeżenie: (20%) ![]() ![]() |
wiec tak, mam strone i podczas kazdego odswiezenia wykonywane sa dziesiatki zapytan, slyszalem, ze mozna wszystko jakos cachowac i bedzie znacznie szybcije, jak to zrobic?
|
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) ![]() ![]() |
Od samego początku budowania skryptów - uproszczaj je. tak jak to powiedział phpion, to będzie początek...
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 662 Pomógł: 45 Dołączył: 26.03.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jak już poprzednicy wspomnieli, popraw kod. A co do samego cache, to zobacz ten artykuł.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 13 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
nie przesadzajmy!! 20 to już dziesiątki, a osobiście uważam, że 20 to nie dużo.
Załóżmy że koleś ma pokolei - autoryzacja, szablon, dynamiczne meta, jakieś 8 bloków z treścią wyciągniętą z bazy, blok z newsami, blok z pozostałymi newsami, blok z komentarzami, może jeszcze sondę i może jeszcze coś. Nie powiecie mi, że tak rozbudowaną stronę można obsłużyć 5 zapytaniami, zakładając zdrowy rozsądek kolesia który pisał bazę. Pytanie moim zdaniem na miejscu, nie można zakładać że np 20 zapytań to za dużo i człowiek źle napisał system, wszystko zależy co wyświetla. Pozdrawiam Ten post edytował windman 17.02.2008, 22:59:19 |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Załóżmy że koleś ma pokolei - autoryzacja, szablon, dynamiczne meta, jakieś 8 bloków z treścią wyciągniętą z bazy, blok z newsami, blok z pozostałymi newsami, blok z komentarzami, może jeszcze sondę i może jeszcze coś. No więc po kolei: - autoryzacja - raczej jest wykonywana bez wyświetlania czegokolwiek i zwracany jest rezultat (udało się, nie udało się). Więc to 1 zapytanie wykonywane samodzielnie "w tle". - szablon - po kiego trzymać szablony w bazie? - meta - j.w. - 8 bloków z treścią - ok, jest to 1 zapytanie - blok z newsami - ok, zapytanie nr 2 - blok z pozostałymi newsami - a to? Bez przesady, można dopisać "blok z jeszcze innymi newsami" (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) - blok z komentarzami - można pobrać wraz z newsami (poza tym kto na stronie głównej wyświetla newsy wraz z komentarzami?) - sonda - ok, zapytanie nr 3 - jeszcze coś - niech tego będą 2 sztuki - zapytanie 4 i 5. Łącznie daje to 5 zapytań, a nie 20! Ja bym nadal obstawiał optymalizację zapytań. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 13 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
No więc po kolei: - autoryzacja - raczej jest wykonywana bez wyświetlania czegokolwiek i zwracany jest rezultat (udało się, nie udało się). Więc to 1 zapytanie wykonywane samodzielnie "w tle". W tle czy nie w tle ale się liczy! - szablon - po kiego trzymać szablony w bazie? Samego szablonu nie trzyma się w bazie, ale każda strona może mieć inny, a to już gdzieś trzeba trzymać!! - meta - j.w. Mam na muśli dynamiczne meta, ale tutaj się zgodzę, że można to pobrać wraz z newsem - 8 bloków z treścią - ok, jest to 1 zapytanie W jaki sposób ? proszę o przykład. - blok z newsami - ok, zapytanie nr 2 - blok z komentarzami - można pobrać wraz z newsami (poza tym kto na stronie głównej wyświetla newsy wraz z komentarzami?) Można zbudować zapytanie, które pobierze wszystko za jednym zamachem, tylko tutaj chodzi o elastyczność aplikacji. Dajmy na to, że koleś ma cms`a, któr użytkownikowi daje możliwość wstawiania tego co chce tam gdzie chce w ilości jaką chce itp. Nie wiemy z góry co z czym jednocześnie może być wyciągnięte. Poza tym kto mówił, że to strona główna? Nawet jeśli to może ma życzenie do ostatniego newsa wyświetlić 3 ostatnie komentarze? wystarczy trochę wyobraźni. - sonda - ok, zapytanie nr 3 - jeszcze coś - niech tego będą 2 sztuki - zapytanie 4 i 5. pozdrawiam |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 662 Pomógł: 45 Dołączył: 26.03.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@windman - phpion ma rację, tak się nie da (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Znaczy da, ale wtedy nawet cache nie pomoże (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 13 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
no dobra, to w takim razie jak myślicie, ile zapytań do bazy nastąpiło po wywołaniu tego adresu: http://www.mambopl.com/
|
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) Ostatnio na forum
2) Najnowsze pliki 3) news 4) menu znaki zapytania (nie jestem pewien czy to w bazie powinno byc): 5) helion poleca 6) ciekawe ksiazki 7) polecamy 8) Uwaga promocja 9) polecamy ehost.pl 10) nasi partnerzy 11) ewenetualnie zapis kto jest online czyli 4-5 pewniakow, +6 pod znakiem zapytania (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) edit: mala pomylka. Na news dwa zapytania. jedno na newsy, drugie na ilosc newsow |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 13 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
ok, załóżmy że 11 (dla mnie wygodniej ;-)
czyli zbliżąmy się do magicznej liczby 20, a musicie przyznać, że strona nie jest nadmiernie rozbudowana. Ale teraz do sedna ... "o co temu windmanowi chodzi" ... Koleś napisał, że ma dziesiątki zapytań, a koledzy z forum od razu na hura "optymalizować". Moim zdaniem wypadało najpierw zapyatać co to za strona, co wyświetla ile tego itp... Jeden koleś powiedział, że jego wózek pali 25 na 100, inni... ty głupi jesteś - za dużo. Nikt nie zapytał - a czym jeździsz... koleś ma humvee i dla połowy wsi świadczy usługi typu pola oranie, jego humvee robi to 2 razy szybciej i o połowę taniej niż ursus... Przepraszam za ten przykład, ale to najlepiej oddaje o co mi chodzi. Nie można z góry zakładać, że coś jest źle zrobione jeśłi nie wiemy co to jest. Koniec. |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat ok, załóżmy że 11 (dla mnie wygodniej ;-) A dla mnie wygodniej 5 i co? No tak nie mozna (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Co nie zmienia faktu ze cache na strone lepiej zeby byl. Jak go wykonac? Skorzystac z jednej z klas, ktorych jest masa w necie. Albo napisac wlasny na swoje potrzeby (polecam tę pierwszą wersje). A w przypadku gdy tych zapytan jest naprawde za duzo, to najpierw to zoptymalizowac a potem napisac cache. Ot i chyba wszystko w temacie. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 662 Pomógł: 45 Dołączył: 26.03.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@windman - No i co że strona ma 11 zapytań ? Musiałem czekać 16 sekund żeby w pełni strona się załadowała. Gdyby nie to że chciałem zobaczyć ile będzie sie wczytywać, to po max. 5 sekundach bym zrezygnował z dalszego czekania. Naprawdę chcesz żeby większość użytkownik opuszczało Twoją stronę przez to że zamiast 5 zapytań zrobiłeś 11 ?
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 13 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
@windman - No i co że strona ma 11 zapytań ? Musiałem czekać 16 sekund żeby w pełni strona się załadowała. Piszesz o mambopl.com? jeśłi tak to zmień modem 33600 to już przeżytek! Naprawdę chcesz żeby większość użytkownik opuszczało Twoją stronę przez to że zamiast 5 zapytań zrobiłeś 11 ? Tak się namęczyłem aby wymyślić fajny przykład z tym ursusem ale jak widac nic to nie dało? Po raz ostatni (nie mam już sił)... uważasz, że 11 zapytań to za dużo? A skąd wiesz co wyświetlam?! Dla jednej aplikacji 2 zapytania to za dużo, inna wymaga 40! Trzeba było kolesiowi podać link do artukułu z cachem i zwrócić uwagę aby spróbował zoptymalizować kod, nigdy nie wiesz jaki kombajn zmajstrował. Ten post edytował windman 18.02.2008, 13:27:04 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
20 pytań przy sporym serwisie (choćby społecznościowym: dużo informacji) to nie jest dużo. Same sesje i auth (przynależności grupowe, dostępy) to z 5-6 na start (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ale co innego optymalne minimum profesjonalisty, a co innego ogrom pytań bez sensu i to jeszcze w pętlach (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 13 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
20 pytań przy sporym serwisie (choćby społecznościowym: dużo informacji) to nie jest dużo. Same sesje i auth (przynależności grupowe, dostępy) to z 5-6 na start (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ale co innego optymalne minimum profesjonalisty, a co innego ogrom pytań bez sensu i to jeszcze w pętlach (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Zgadzam się w 100%! Wszystko zależy od tego jaki serwis budujemy! |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) ![]() ![]() |
Odchodzimy od tematu, panowie...
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 0 Dołączył: 22.09.2007 Ostrzeżenie: (20%) ![]() ![]() |
Wiec mam np tak:
$cos=mysql_fetch_assoc(mysql_query("SELECT * FROM `cos`")); I pobieram np.: echo "$cos[stan] , lalala: $cos[ile_ludzi] reg: $cos[zapisanych] z miasta tego: $cos[miasto_to]"; Takich "$cos[cos]"; mam okolo 100 przy jednym odswiezeniu... A takich al'a: $cos=mysql_fetch_assoc(mysql_query("SELECT * FROM `cos`")); okolo 5-15 na cale odswiezenie.... Co sadzicie? |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 13 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
A takich al'a: $cos=mysql_fetch_assoc(mysql_query("SELECT * FROM `cos`")); okolo 5-15 na cale odswiezenie.... To nie wystarczy aby odpowiedzieć na Twoje pytanie. Aby stwierdzić, czy któreś zapytanie jest potrzbne czy też nie trzeba zobaczyć cały kod. Z drugiej strony analiza dłuższego kodu, a w zasadzie całego systemu jaki zbudowałeś to już zupełnie inna baja na niejeden wieczór. Ale jak masz coś krótkiego ;-) to można spróbować. pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 18:31 |