Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wydajność MySQL – 5 parametrów z pliku konfiguracyjnego

Wcześniej napisałem post na blogu o Wydajności MySQL – wolne zapytania i innodb_buffer_pool_size . Dostałem wiele e-maili, w których ludzie chcieli dowiedzieć się więcej o takich parametrach. Omówmy 5 parametrów z pliku konfiguracyjnego, które mogą pomóc w wydajności MySQL.

innodb_buffer_pool_size

W puli buforów dane są buforowane. Jeśli ma mały rozmiar, twój dysk będzie używany częściej. Utrzymuj ten duży, aby uniknąć wielokrotnego dysku MySQL. Typowy rozmiar, który widzę u moich klientów, wynosi od 6 do 10 GB.

max_connections

Możesz łatwo uniknąć zbyt wielu błędów połączenia, jeśli utrzymasz wystarczająco duży rozmiar. Jeśli jednak utrzymasz go zbyt duży, niż może obsłużyć Twój serwer, ponownie zaczniesz widzieć problemy z wydajnością. Bardzo ważne jest, aby był wystarczająco duży, aby mógł obsłużyć typowe obciążenie pracą, a zatem należy dodać więcej zasobów. Często zmieniałem to najpierw, a później dostosowywałem zasoby dla moich klientów.

query_cache_size

Wszyscy wiedzą, że jeśli utrzymasz bardzo niski lub wysoki rozmiar tego zestawu, twoja wydajność będzie fatalna. Jednak widziałem wiele osób ignorujących to ustawienie. Zwykle zaczynam dostrajanie MySQL od patrzenia na to ustawienie i utrzymywania go na 0. Oznacza to, że to ustawienie jest wyłączone i używam innych metod do dostrajania moich zapytań. Zwykle wolę dostroić moje indeksy zamiast tej metody.

innodb_flush_method

To ustawienie kontroluje sposób, w jaki dane i logi są usuwane z pamięci na dysk. Zwykle trzymam go w pozycji O_DIRECT, aby uniknąć podwójnego buforowania. Doświadczyłem, że podwójne buforowanie zwykle zmniejsza wydajność serwera.

Ustawienia, o których wspomniałem powyżej są związane z wydajnością MySQL i można je zmienić z pliku konfiguracyjnego. Plik konfiguracyjny MySQL można znaleźć w lokalizacji tutaj w systemie Linux:/etc/mysql/my.conf

Jednak zanim zmienisz jakiekolwiek ustawienia w środowisku produkcyjnym, zdecydowanie sugeruję wypróbowanie ich w swoim systemie deweloperskim. Jest całkiem możliwe, że Twoje doświadczenie różni się od mojego i potrzebujesz innej wartości dla swojego serwera.

Jeśli podobał Ci się ten blog, nie zapomnij zasubskrybować mojego kanału YouTube – SQL w sześćdziesiąt sekund .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wartość strefy czasowej serwera „AEST” jest nierozpoznana lub reprezentuje więcej niż jedną strefę czasową

  2. Elementy sum MySql w kolumnie

  3. Połączenie MySQL przez tunel SSH - jak określić inny serwer MySQL?

  4. Jak ZAMÓWIĆ PRZEZ SUMA() w MySQL?

  5. Które wiersze są zwracane przy użyciu LIMIT z OFFSET w MySQL?