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.
|
|
|