![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Zauważyłem, że w bazie danych mam bardzo duże wartości dwóch parametrów: Handler_read_rnd (300k) Cytat Liczba żądań odczytu następnego rekordu na podstawie stałego położenia. Wartość jest duża przy wykonywaniu dużej ilości zapytań wymagających sortowania rezultatu. Prawdopodobnie wykonano wiele zapytań wymagających przeszukania całej tabeli lub złączeń, które nie używają poprawnie indeksów. oraz Handler_read_rnd_next (>100M) Cytat Liczba żądań odczytu następnego rekord w pliku z danymi. Wartość jest duża przy wykonywania wielu przeszukiwań tabeli. Ogólnie sugeruje to, że tabele nie są poprawnie zindeksowane lub że zapytania nie są napisane w sposób pozwalający skorzystać z istniejących indeksów. przy ilości zapytań ok 1,5mln (od startu serwera), oraz 1 slow queries. Szukałem na formu/googlu ale nie znalazłem satysfakcjonującej mnie odpowiedzi. Większość zapytań (wszystkie jakie sprawdzam EXPLAINem) używa poprawnie indeksów. |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Umiesz wyprofilować aplikację? Chodzi o zaraportowanie zapytań i sprawdzenie, które nie wykorzystują indeksów.
Przy takiej ilości zapytań (na jaki czas?) to właściwie wartości nie są tak oszałamiające. Możesz wyprofilować zapytania z poziomu php (po prostu rejestru zapytania jakie wchodzą). To że sprawdziłeś większość nie oznacza, że żadnego nie pominąłeś. Ten post edytował wookieb 7.06.2010, 07:38:22 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
No właśnie nie za bardzo wiem czego szukać :/
1,5 mln zapytań na 12h. Nie korzystam z żadnej klasy do DB, więc rejestrowanie wszystkich zapytań jest a. niemożliwe b. gdzie miałbym je rejestrować oraz jak przeglądać? wartości są oszałamiające bo później idą w kilka G - a parametr świeci się na czerwono, więc to znak, że warto coś zoptymalizować Ten post edytował TomASS 7.06.2010, 08:45:01 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
używasz tylko mysql_query itd?
A może PDO? Jeżeli PDO to możesz to bardzo łatwo rozszerzyć. Rejestrować do plików, chodzi tylko o treść zapytania, czas wykonania. Potem możesz za pomocą wyrażenia regularnego wyfiltrować podobne zapytania i je wywalić. Jeżeli chodzi o inne opcje profilowania to niestety nie mam przy sobie materiałów, które o tym mówią ale jak będę w domu to poszukam. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
używam tylko mysql_query, czas wykonywania zapytań nic mi nie da - wszystkie o podwyższonym czasie wykonywania rejestrowane są w mysql-slow-queries-log i na bieżąco staram się te zapytania optymalizować.
Ten post edytował TomASS 7.06.2010, 09:18:44 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 00:38 |