Analiza obciążenia i czasu generowania

Założony przez meto.

Trzeba będzie po kolei odinstalowywać wszystkie pluginy i sprawdzać, kiedy ilość zapytań spadnie.
(01.03.2010, 15:58)SoulReaver napisał(a): nie do końca się z Tobą zgodzę, część zapytań faktycznie jest ZŁA, bo się dublują z zapytaniami wysyłanymi przez samo MyBB lub raczej z tym, co MyBB cache'uje, czasem wystarczy drobna modyfikacja pluginu ... :) ale przy tej ilości zapytań można się szybko zniechęcić do poszukiwania "winowajcy" ( którego w końcu może nie być, choć takie "złe wtyczki" widziałem )

Potwierdzam. Przykład to plugin thankyou - robi niepotrzebne 1 x ilość postów w widoku tematu na każdą taką odsłonę. Czemu niepotrzebne? Pobierane dane z users, a one i tak są dostępne, gdy post danego usera jest przygotowywany do wyświetlenia.
są gorsze przykłady :) widziałem plugin ( dawno już, jak zabierałem się za naukę tworzenia pluginów, więc nawet nie wiem już co to był za plugin ), który "pytał" bazę danych o własne ustawienia ( czyli to, co ustawiamy w ACP/Konfiguracja/Ustawienia )

koniec końców należało by każdą wtyczkę przejrzeć pod tym kątem, ale wtedy dochodzi się do wniosku, że jak już grzebać tak głęboko w kodzie, to może lepiej przerobić go całkowicie i dostosować do własnych potrzeb, a w końcu traci się chęci na wykonywanie jakichkolwiek modyfikacji :)

@virus4
jak znajdziesz wtyczki, które znacząco zmniejszają czas / liczbę zapytań, to wymień je, może część z nich faktycznie warto poprawić, chyba, że są "zbędne" i po prostu je usuniesz
Simple TagCloud udostepniony przez kupo jest nieoptymaalnym pluginem potrafil u mnie wygenerowaac nawet 1300zapytan/odslona przy czasie generowania powyzej 20s (przy wlaczonym google seo nawet 2000 O_O)

Innym pluginem jest Username Style (100-300 zapytan per request)

To są fatalnie napisane pluginy...

Nie wspominam o pluginach typu Thank You (do 50 zapytan per request)

Dlugo tutaj wymieniac...

Na wlasne potrzeby zmodyfikowalem wiele pluginow, lecz nie udostepniam ich bo zlamal bym wiekszosc licencji.
Ja z chmury zrezygnowałem, i co lepsze, od tego momentu mimo że site spadł(zrobiłem 301 na główną) to ruch na forum zwiększył się, do tego nie szpeci mi to forum. ;-) Plugin do tego chodzi niespecjalnie dobrze, strony z tagami długo się wczytują. Po prostu, maszynka do nabijania LP dla Watta, a ludzie na to lecą. Hostingi masowe jak linuxpl czy webh jak widać nie patrzą na to, ale jak trafimy na kogoś kto dba o maszyne, z takimi pluginami dużo nie zwojujemy. Także jeśli macie jakieś mulące pluginy, lepiej je wywalcie teraz niż jak przyjdzie zmienić hosting, zaoszczędzicie sobie kłopotów.
btw.
po odinstalowaniu chmury, i usunięciu 2 działów
Memory Usage: 7.75 MB (8126464 bytes)
Jest lepiej.
Póki co to u mnie takie pluginy jak te niżej generują sporo zapytań do bazy danych:
Simple Tag Cloud - spadło po wyłączeniu o ok. 0,5mb oraz 80 zapytań.
ThankYou - spadło po dezaktywacji o ok. 0,2mb i 20 zapytań.
ProStats - Spadło o ok 0,4mb i 45 zapytań.

Po wyłączeniu tych trzech pluginów zużycie bazy danych to 5mb (i tak dużo...) oraz 15-20 zapytań. Resztą pluginów pobawię się później.
U mnie, gdy zainstalowałem CZYSTE MyBB(tj. bez żadnych pluginów), na linuxpl.com Memory Usage wynosiło 2.30 MB. 14 zapytań do bazy.
(02.03.2010, 21:00)XemiX napisał(a): U mnie, gdy zainstalowałem CZYSTE MyBB(tj. bez żadnych pluginów), na linuxpl.com Memory Usage wynosiło 2.30 MB. 14 zapytań do bazy.
Hardkorowo, duże forum na bb3 bierze max 2 mb pamięci i robi 10 zapytań...
Cholera, chyba zacznę na własną rękę optymalizować MyBB...
(02.03.2010, 21:07)wujas napisał(a): Hardkorowo, duże forum na bb3 bierze max 2 mb pamięci i robi 10 zapytań...
Cholera, chyba zacznę na własną rękę optymalizować MyBB...

Burning Board 3 wcale nie jest taki szybki, choć wydaje mi się, że również nie jest zły.

Co do phpBB3 to fakt... potrafi naprawdę śmigać (popatrzcie na forum dobrychprogramów).
I znalazłem kolejnego winowajcę, co prawda nie w skrypcie ale... Poniekąd za sprawą mybboard.pl ;)
Otóż kiedyś tam nie znając mybb dodałem kilka kodów php poprzez
Kod:
ob_start();
TUTAJ WSTAW SWÓJ KOD PHP
$php = ob_get_contents();
ob_end_clean();
I o tym zapomniałem... Ostatnio przeglądałem pliki w poszukiwaniu syfu i to znalazłem.
Usunąłem wszystkie ob, niektóre potrzebne, te potrzebne umieściłem w globalu i...
Spadek zużycia pamięci o 0.25, ale rzecz w tym że forum zaczęło śmigać jak szalone(ładowanie z 3 sec na 0.80).
W wiki dopisałem, jak łatwiej dodawać zmienne w global.php
A teraz prześlij w jednym pliku więcej niż 1 header bez generowania błędu. Oczywiście, jeśli jest Ci to niepotrzebne, to słusznie robisz.
hajlo.com
Cytat:Generated in 0.1574368 seconds (95.66% PHP / 4.34% MySQL)
SQL Queries: 12 / Global Parsing Time: 0.0791988 / Memory Usage: 8.75 MB

Aktywne Pluginy:

Cytat:Hide Links to Guests(1.0) [DragonFever]
Image Resizer & Optimizer with GD(1.1) [MT Jordan]
+18 Censor(0.2 alpha) [Dariusz Paluch]
Redtube(0.1 alpha) [Dariusz Paluch]
Polish Instant Messengers (PlIMs)(1.0) [Soul Reaver (PlIMs), bryn & pagenoare (Polish IMs)]
(1.2.3) [Garlant]
Profile Comments(0.5.0) [Santiago Dimattia]
Hello World!(1.0) [MyBB Group]
SpiceFuse Shoutbox(1.1 Beta 1) [Asad Khan]
Ads after first post(2.2) [MyBBoard.de]
Contact form(0.1) [spyka Webmaster]
Zapro� plugin(0.1) [taxido]
Trash Can Forum [CraKteR]
Game Section(1.2 RC3.2) [Paretje]
SR MyBBCoder(1.4) [Soul Reaver]
Multimedia Gallery(0.1) [Taxido]
Add Spiders(0.1) [Thor2705]
NoCode(1.0) [Nickman]
NewPoints(1.1) [Pirata Nervo]
ChangUonDyU - First post on all pages(1.1) [ChangUonDyU]
Additional Usergroup Images(1.1) [Jammerx2]
Framed Avatar (Online,Ofline,Away)(3.0) [Bomfile]
Simple TagCloud (beta)(0.8) [Watt / Kupo]

Skrypt po kilku drobnych modyfikacjach (niewykluczone ze wydam je jako mod.) W planach mam wywalenie 4 zapytan.

Niestety, nadal w moim przypadku to php dostaje w zad.
Jaki host? Jakie cache?
LinuxPL
Cache na plikach (przepisany na serializacje)
W moim przypadku ważnym okazało się zrezygnowanie z odwołań do css.php. Ten durny pliczek potrafi spowodować do 5-ciu (zależnie od ilości stylów) wywołań PHP więcej przy każdym odwołaniu. Tabela mybb_sessions została przerzucona do pamięci, a tabelom z template'ami zmieniłem silnik na InnoDB, by zmniejszyć ilość przeskoków przy odczytywaniu. Oprócz tego jest też oczywiście akcelerator - w naszym przypadku eAccelerator.
Nadal jednak MyBB nie jest demonem prędkości. Najwięcej mocy obliczeniowej żre oczywiście index.php, co już zauważyliście - jest 3-4 razy wolniejszy.

Jeżeli ktoś jest zainteresowany - forum jest stosunkowo spore. Mamy raczej wiele działów i poddziałów oraz 12 grup użytkowników.
http://h-rp.pl/stats.php
Kod:
Postów: 226,490
Wątków: 22,152
Użytkowników: 20,598

Widok tematu:
Kod:
Page Generation Statistics
Page Generation Time:    0.114771127701 seconds    
No. DB Queries:    19
PHP Processing Time:    0.1004727 seconds (87.54%)    
DB Processing Time:    0.0142984 seconds (12.46%)
Extensions Used:    mysqli, xml    
Global.php Processing Time:    0.0394170 seconds
GZip Encoding Status:    Disabled
No. Templates Used:    83 (91 Cached / 0 Manually Loaded)
Memory Usage:    3.5 MB (3670016 bytes)

index.php:
Kod:
Page Generation Statistics
Page Generation Time:    0.717505931854 seconds    <- zwykle jest około 0.3-0.4.
No. DB Queries:    10
PHP Processing Time:    0.6687632 seconds (93.21%)    
DB Processing Time:    0.0487428 seconds (6.79%)
Extensions Used:    mysqli, xml    
Global.php Processing Time:    0.0597761 seconds
GZip Encoding Status:    Disabled
No. Templates Used:    37 (44 Cached / 0 Manually Loaded)
Memory Usage:    5 MB (5242880 bytes)

Skocz do:

Użytkownicy przeglądający ten wątek:

1 gości