To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

HydePark - [OffTopic] Jak najskutecznie dość znacznie, zoptymalizować s

lord.nitos - 01-12-2012, 20:34
Temat postu: [OffTopic] Jak najskutecznie dość znacznie, zoptymalizować s
Od dłuższego dość czasu, przypominając sobie dawne czasy stawiania for na phpBB2 lub phpBB by Przemo no i z osobistej niechęci do phpBB3 myślę, tak jak można by dość znacznie zoptymalizować skrypt. Mam tutaj na myśli zmniejszenie jakiegoś tam dość znacznie wywieranego obciążenia. Oczywiście nie mówię tutaj o wyłączanie niepotrzebnych modułów w PA bo tego jestem świadomy. Tylko chciałbym się dowiedzieć czy jest jakaś inna opcja, którą można dodatkowo wspomóc tą optymalizację.

Przeszukałem forum, ale nie znalazłem nic ciekawego w związku z tym tematem, więc pozwoliłem sobie napisać. Mam nadzieje, że nikt mnie nie powiesi skoro śmiem mówić, że phpBB by Przemo jest z optymalizacją na przekór...

maminowiec - 02-12-2012, 10:00

Optymalizacja takiego skryptu to nie jest prosta sprawa, ogólnie to zapytania męczą bazę no i kończą serwery. Można zainteresować sie szukajką, historią nieprzeczytanych postów oraz modułem zarządzających zezwoleniami do forów jak i dostęp dla grup.
lord.nitos - 02-12-2012, 10:03

No nie ma co się łudzić, że zoptymalizowanie zajmie 5 minut :)

Aczkolwiek, tak na logike to połowę modułów by trzeba przepisywać tak, samo spróbować ograniczyć zapytania i fakt faktem zbyt dużo roboty z tym.

kevin_ - 02-12-2012, 11:53

Cache dla tabel: kategorii, forum, subforum, banlisty, zezwoleń, uśmieszki od sb, skórki, urodziny,
tabela cenzury (+phpbb_disallow), rozszerzenia do załączników, uprawnienia JR (jr_admin_users), tabela od rang (ranks),
informacje o relacjach pomiędzy użytkonikami w grupami (phpbb_user_group), głosowanie (warianty) trzymać w tabeli phpbb_topics (np. w kolumnie "options")

- usunąć tabele post_text i podpiąć ją po prostu do posts
- usunąć tabele privmsg_text i podpiać ją do privmsg

- jako mechanizm cache mogę polecić http://php.net/manual/en/book.apc.php - wprawdzie sam używam zwykłego "file" - ale dużo pozytywów słyszałem

- można jeszcze sprawdzić indeksy na tabelach czy są poprawnie nałożone - też potrafią przyśpieszyć wynik zapytania

- pomyślałbym też nad przebudowaniem phpbb_search bo jakoś dziwnie było napisane z tego co pamiętam

- aby zrezygnować z zapytań typu:
Kod:
delete * from phpbb_forums where id = 1;
delete * from phpbb_topics where forum_id = 1;
// itd


możesz przebudować bazę z MySiam na InnoDB i zainteresować się więzami integralności

- modyfikacja kodu: zmiana zapisów w stylu:
Kod:

foreach ( $dane as $key => $value )
  $dane[$key] = trim($value);


jak można

Kod:

$dane = array_map('trim', $dane);


(kiedyś widziałem podobny kod w phpBB i tak mi się przypomniało) - po prostu odświeżyć trochę źródło

pewnie da się jeszcze zoptymalizować wiele rzeczy - pisałem głównie z pamięci;
powodzenia.

Anonymous - 02-12-2012, 13:52

j/w i wywalić zbędne modyfikacje, możesz wykorzystać standardowe cache, oraz dodać do nich funkcje wygasania, jeżeli nie potrzebujesz podglądu gdzie użytkownik się znajduje w jakiej podstronie to kolejne zaoszczędzone zapytanie. Zajrzyj do session :)

Jak chcesz przyspieszyć generowanie strony to skorzystaj z jednego obrazka ( zlepić wszystkie obrazki forum do jednego ) do którego będziesz się odwoływał po koordynacjach lub też użyć base64 w css.

Ja u siebie obciąłem dużą ilość zbędnych zapytań i forum chodzi błyskawicznie i małe obciążenie generuje :)
Ale nie inwestowałem w base64 ani scalania obrazków. Mogłoby być szybciej gdybym powywalał jeszcze zbędnego syfu.

kevin_ - 02-12-2012, 15:40

mayerboss napisał/a:
Jak chcesz przyspieszyć generowanie strony to skorzystaj z jednego obrazka


jak idziemy tą drogą to polecam też przeczytać ten artykuł;
http://developer.yahoo.com/performance/rules.html

można dowiedzieć się ciekawych, przydatnych informacji.



Powered by phpBB modified by Przemo © 2003 phpBB Group