Przejdź do treści

MySQL – optymalizacja i wydajność

O pracy MySQL DBA – przemyślenia administratora

Archiwa

Kategoria: MySQL

Dziś kolejny post będący efektem testów wydajnościowych dysków SSD. Poprzednio pisałem o tym, jak na wydajność wpływa ilość wolnego miejsca, jakie zostało na dysku SSD. Tym razem napiszę o czymś co, przyznam, mnie samego mocno zaskoczyło. Wpływ jądra na wydajność systemu plików.

czytaj dalej…

MySQL lubi, gdy podsystem dyskowy jest szybki. MySQL lubi losowe zapisy. Dyski SSD są szybkie w losowych zapisach. Wniosek można z tego wyciągnąć taki, że MySQL lubi dyski SSD. To jest oczywiście prawda. Dyski SSD faktycznie znakomicie się nadają dla MySQL, znacząco przyspieszają dostęp do danych. Pytanie tylko, czy ta wydajność jest niezmienna?
czytaj dalej…

Notkę tą piszę w nawiązaniu do komentarzy spod poprzedniego postu. Jeden z czytelników, Cezary, pytał o sugestie dotyczące doboru sprzętu dla serwera MySQL. Chciałbym trochę rozszerzyć odpowiedzi, które w tym temacie u dzieliłem.
czytaj dalej…

Chwilę temu, w komentarzu pod postem „Kontroler RAID a MySQL” jeden z czytelników pisał o testach RAID10 w konfiguracji 4 i 6 dysków SAS i pytał się o moje wrażenia. W tamtym momencie nie miałem możliwości wykonania odpowiednich testów i przedstawienia danych, ostatnio jednak okazja się pojawiła. Oto co się okazało.
czytaj dalej…

Serwer MySQL nie chce się uruchomić, w logach czytamy, że problemem jest błąd w strukturze InnoDB. Konkretnie, silnik wysypuje się na etapie odtwarzania zmian z undo log, czyli mówiąc po ludzku, na cofaniu transakcji, które nie zostały COMMITowane przed padem serwera. Co można w takiej sytuacji zrobić?
czytaj dalej…

Być może część czytelników przegląda na bieżąco wiadomości z Oracle, dlatego też pozwoliłem sobie napisać ten krótki post. MySQL 5.5 już od dłuższego czasu jest dostępny jako wersja GA, wersją rozwojową jest obecnie MySQL 5.6. Co ciekawego pojawi się w kolejnej wersji MySQL?

czytaj dalej…

Tak to już bywa, że ludzie są leniwi. Mało kto decyduje się na podjęcie działań w sytuacji, gdy nie wydają się one niezbędne. To przekłada się też na kwestię konfiguracji. Jeśli działa, to nie ruszamy, no bo przecież działa. Jeszcze się popsuje i co będzie? Dodatkowo, do domyślnych ustawień po prostu człowiek się przyzwyczaja. Dobrze mu z nimi. O co mi chodzi w tym wstępie? Ano, o to, że począwszy od MySQL 5.5 mamy zmianę domyślnego silnika z MyISAM na InnoDB. Dlaczego to jest dobre, przykład poniżej.
czytaj dalej…

Dzisiejszym tematem będzie  jedno z pytań, które przewija się w statystykach wejść na bloga. Jak można debugować działanie MySQL? Jakie są dostępne narzędzia? Wbrew pozorom, pytanie to nie jest takie oczywiste i właściwie jest to temat na całą serię postów. Kiedyś pewnie się za to zabiorę, dziś tylko takie proste zestawienie. No więc, co i jak można zrobić?
czytaj dalej…

Jako że jesteśmy ostatnio w temacie BBU do kontrolerów, dziś chciałbym napisać o takim drobnym szczególiku, o którym dobrze jest pamiętać wybierając sprzęt do serwera na którym działać ma MySQL.

Wdrażasz drogi czytelniku duży, rozbudowany projekt. Kilka – kilkanaście serwerów MySQL, sharding, replikacja, cuda najróżniejsze. Sprzęt markowy, Dell na przykład. Serwery dobrane jak należy – szybkie dyski, RAID, bateria, dużo pamięci. Aplikacja gruntownie przetestowana, wszystko ładnie, stabilnie chodzi. Odpalamy całość produkcyjnie.
czytaj dalej…

Podczas wybierania sprzętu, na którym działać ma baza MySQL dużo uwagi zwraca się na rdzenie procesora, gigabajty pamięci, szybkość dysków twardych. Zdarza się, że umyka inny, bardzo ważny element. Mowa konkretnie o BBU (Battery Backup Unit), czyli po prostu o baterii do kontrolera. Dlaczego to jest tak ważne? Wykonałem prosty test aby to zobrazować.
czytaj dalej…