Daję prezentację za kilka tygodni. Część tej wersji demonstracyjnej jest przeznaczona do rozwiązywania podstawowych problemów z mysql, w tym do korzystania z dziennika powolnych zapytań. Wygenerowałem bazę danych i zainstalowałem naszą aplikację, ale jest to czysta baza danych, dlatego trudno jest wygenerować wystarczającą liczbę problemów.
Próbowałem wykonać następujące czynności, aby uzyskać zapytania w dzienniku powolnych zapytań:
Ustaw wolny czas zapytania na 1 sekundę.
Usunięto wiele indeksów.
Podkreślił system:
stress --cpu 100 --io 100 --vm 2 --vm-bytes 128M --timeout 1m
Skrypty niektórych podstawowych wywołań stron internetowych za pomocą wget.
Nic z tego nie wygenerowało wolnych zapytań. Czy istnieje inny sposób sztucznego obciążenia bazy danych w celu wygenerowania problemów? Nie mam wystarczających umiejętności, aby napisać skomplikowany Jmeter lub inny generator obciążenia. Mam nadzieję na coś wbudowanego w mysql lub inną sztuczkę linuxową ponad stres.
źródło
Odpowiedzi:
Kasa mysqlslap . Możesz przekazać jedno z zapytań swojej aplikacji internetowej za pomocą opcji --query i określić współbieżnych klientów za pomocą opcji --concurrency.
źródło
Całkowicie sztuczne, ale możesz użyć
sleep()
funkcji:W dzienniku:
źródło
LOCK TABLES
zadziała. To też może być zbyt niechlujne.DO SLEEP(10);
jeśli nie chcesz wyniku SLEEP w zapytaniu.Być może cofnięcie tuningu bazy danych może pomóc? Na przykład zmniejszenie rozmiaru buforów kluczy?
źródło