Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 1
  • 27

Witam.

Mam zwirtualizowany serwer MySQL na Debianie 8.4 (4 CPU, 8GB RAM).

Serwer jest dość mocno obciążony. Działa na nim kilkanaście baz.

Mam prośbę, czy mógłby ktoś rzucić okiem na mój config?

Załączniki

  • txt

    my.txt ( 3K )
Krzysztof_Klimko_LCYS
  • Zapytał
  • @ Krzysztof_Klimko_LCYS | 30.11.2016
    • 1
    • 1
    • 1

Odpowiedź (1)

  • 1

Konfiguracja mocno zależy od sposobu wykorzystania serwera. I - 90% optymalizacji zazwyczaj jest do zrobienia po stronie zapytań. :-)
Zajrzałbym wpierw do slow-loga - czy pojawiają się tam jakieś zapytania? Jeżeli pojawiają się bo nie korzystają z indeksów - często pomaga dołożenie indeksów. Albo też wprost przeciwnie - usunięcie zbędnych indeksów, a zmiana zapytań na takie które korzystają z indeksów. Czasami pomaga zmiana formatu danych by móc lepiej skorzystać z indeksów. Tudzież okazuje się że np część danych jest niepotrzebnie wyciągana i można bardziej ograniczyć zapytania. Szczytem "optymalizacji" z którym kiedyś się spotkałem było robienie select * from db po stronie php tylko po to by wyciągnąć liczbę kolumn.

Dopiero jak już uda się doprowadzić do tego że zapytania są w miarę optymalne - trwają krótko, korzystają z indeksów itepe - warto zastanowić się co dalej. Zacząć analizować co najwięcej obciąża bazę i w jaki sposób. Zwykły "show processlist" w pętli potrafi pokazać co najczęściej się tam pojawia i na czym warto się skupić. Czy to selecty, czy może updaty/inserty... Jeżeli inserty - często problemem po stronie oprogramowania jest używanie tymczasowych tabel które wcale nie są tymczasowe.. Użycie odpowiedniego engine (memory) potrafi znacząco zmniejszyć obciążenie.

Warto też spojrzeć ogólniej na używane typy storage. Czy to innodb, czy myisam. Przy innodb - czy plik jest na bazę, czy też może na każdą tablicę.

Trochę sugestii co do optymalizacji konkretnej bazy pokazuje również np phpmyadmin - warto na niego spojrzeć czy nie ma jakiś oczywistych sugestii zwiększenia wydajności.

Przy wirtualizacji - trzeba też wziąć pod uwagę co jest pod spodem. Jak jest wirtualizowany storage, jak działa cache, czy są włączone "barriers"... Temat rzeka. :-)

 

Andrzej_Dopierała
  • Odpowiedział
  • @ Andrzej_Dopierała | 04.12.2016
    • lider
    • laureat
    • ekspert
    • 83
    • 65
    • 169