![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam, rozwijam pewna aplikacje ktora zaczela stopniowo od jakiegos czasu za bardzo naciskac na sql. Jest to struktura i trudno ja przeanalizowac recznie bo za duzo kodu. Ma ktos moze pomysl jak moge przeanalizowac ta aplikacje pod katem zapytan do sql ? Moze na apache mozna cos zainstalowac, wystarczy mi nawet ilosc zapytan do poszczegolnych baz, dzieki takiej informacji bede wiedzial gdzie szukac. Zalezaloby mi na analizie np z paru godzin, sprawdzanie poszczegolnych fragmentow za dlugo by zajelo ;/
Licze na jakiekolwiek sugestie, pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 160 Pomógł: 6 Dołączył: 13.01.2012 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Trzeba było użyć klasy lub nawet funkcji, masz zmienną/własność $zapytania i po wywołanie twojej własnej funkcji query inkrementujesz tą wartość, inną własność możesz mieć : queries - tutaj zapytania wrzucasz, jako tablica, możesz dodać kolejny wymiar i tam wrzucać: czas wykonania zapytanie, ew. mysql_errno()
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Najłatwiejszym sposobem jest włączenie logów zwłaszcza slow-logów mysql i ich dokładna analiza.
http://www.mydigitallife.info/enable-loggi...mysql-database/ |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
@mrWodoo masz racje, pomysle nad tym ale to moze byc zbyt czasochlonne ;/
@darko Slow logi sa wyeliminowane, 2 razy sie temu przygladalem, to raczej chodzi o duza ilosc zapytan. Chcialem ja zmniejszyc ale nie wiem gdzie ich szukac ... ich moze byc bardzo duzo jak sie uruchomi wszystko Ten post edytował Octobus 23.08.2012, 12:15:11 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Tzn. znajdujesz jakiekolwiek wpisy w slow-logach mysql? Jeżeli tak, to należy tak zoptymalizować zarówno kod, a tym bardziej zapytania, żeby slow log był czysty. Spróbuj pobawić się profilerem, np. do dla xdebug masz odpowiednie ustawienia (xdebug.profiler_enable = 1 oraz xdebug.profiler_output_dir = "C:\xampp\tmp" ścieżka dowolna katalog musi istnieć) i narzędzie WinCacheGrind - tam jak na tacy będzie podane, które miejsca w kodzie są wąskim gardłem.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
FirePHP (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
najprostszym i bardzo szybkim sposobem w tak beznadziejnej sytuacji będzie podmiana funkcji mysql_query() na własną np.
otwierasz pliki edytorem i funkcją "search and replace" podmieniasz nazwę i gotowe. Ponadto to rozwiązanie daje Ci bardzo dużo możliwości bo możesz sobie pozliczać, jakiego typu zapytania są najczęściej wysyłane (select, update) do jakiej tabeli (wtedy możesz zrobić jakiś cache z tabeli), sprawdzić ile zajęło wykonanie zapytania i dużo więcej praktycznie bez ingerencji w kod źródłowy. Ten post edytował tehaha 23.08.2012, 14:19:01 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 01:48 |