CyberTek - the future at the present!
Google

Optimiziranje MySQL

Posted by: admin (19. lipnja)

Nema vremena za razgovor o tome kako kreirati tablice optimizirana dati bolje rezultate. Sjećam se samo da je indeksirana polja znatno poboljšati izvršenje vrijeme. Razgovor umjesto neki mali trik kako bi učinkovitiji MySQL koja obično dolazi instaliran na vecini distro bez previše parametara za ugađanje. Info pogledajte Linux distro, ali se može lako prilagoditi drugi OS.

Konfiguracijska datoteka je obicno u / etc / my.ini.

Eempio od my.ini:

[mysqld]
datadir = / var / lib / mysql
socket = / var / lib / mysql / mysql.sock
set-varijabla = key_buffer = 64M
set-varijabla = max_user_connections = 100
set-varijabla = query_cache_size = 64M
# Default da koriste staru lozinku formatu za kompatibilnost s MySQL 3.x
# Klijenata (onih koji koriste mysqlclient10 paket kompatibilnosti).
old_passwords = 1

[mysql.server]
user = mysql
basedir = / var / lib

[mysqld_safe]
pogriješiti-log = / var / log / mysqld.log
PID-file = / var / trčanje / mysqld / mysqld.pid

buffers: tampon bilo incremeto dobit će mnogo brže baze podataka. Potom postavite buffers na osnovu iznosa raspoložive memorije, uzimajući u obzir potrošnju od strane operativnog sustava i ostalih aplikacija i usluga je u upotrebi. Ako vam dodijeliti previše memorije dok ne odredbu svibanj utrčati ukupnu učinkovitost sustava.

Wait_timeout: predstavlja vrijeme elapses da prije nego što je završila automatski spojiti na MySQL zbog mirovanje. Niži broj je bolje performanse. U tom slučaju morate također igrati vrstu veze i njihovim navodnim vremena da kalibrira najbolje mjerilo.

back_log: kontrolira koliko istovremenih veza može održavati dok mysql kreira novi thread. U donjem broj, to je veći brzinu. Pazite, to je jednostavno ne degradira performanse postavljanjem ovog parametra ispravno, koristite ovaj samo ako je apsolutno neophodno.

Max_user_connections: Postavlja maksimalan broj veza dozvoljeno korisnik. To je vrlo korisno u sustavima gdje istom poslužitelju MySQL korisnici imaju pristup istovremeno.

Delayed_queue_size: broj redaka uz INSERT kasniti. Manje će se uzduž linije, brže mysql.

Sort_buffer_size: setovi veličini tampon doznačena na provedbu ORDER BY klauzule i klauzule grupu. Da bi ga upita efikasniji ovaj parametar postavljen na vrijednost veću od 2M.

Table_cache: kontrola broja otvorenih stolova za sve teme, povećavajući ovu varijablu će povećati stolovi loaded istovremeno i izvršavanju mysql ce biti mnogo brže. Pozornost na ovaj parametar, operacijski sustavi imaju ograničenje na pokazivače datoteka otvorena odjednom, ako prelazi to ograničenje vam svibanj nastati u bilo kojem sustavu kvar.

Thread_cache_size: Kompleti broj konce držati u cache. Ova značajka omogućuje uporabu threads vrlo brzo.

Show STATUS naredba nam pomaže pratiti u realnom vremenu one varijable, koje više od drugih da nam pomogne shvatiti što su najznačajniji poboljšanja možemo učiniti:

  • Handler_read_first: Označava koliko je puta bio prvi rekord pročitati iz tablice. Ako se to često događa, to znači da se stol nije bio indeksiran ispravno.
  • Innodb_buffer_pool_wait_free: označava broj puta da MySQL je čekati za ispiranje stranica memorije. Ako se vratiti vrijednost je visoka onda buffer pool size nije pravilno konfiguriran za iznos od operacije pretrpljen pisati po serveru.
  • Key_reads: označava broj puta da MySQL pristup datotečnom sustavu za bazu indeksira. To usporava brzinu izvršenja upita, pa ako je ta vrijednost je visoka onda to znači da ključ pufer je premali i trebao bi se povećati.
  • Max_used_connections: Označava maksimalan broj veza koje je imao MySQL otvoriti tijekom posljednjih čizma. S jedne strane ovo je pravi mjerni (to pomaže da odlučite maksimalan broj veza koje poslužitelj može podrška), a druga je predstavljena kao povoljan prometni analizator.
  • Open_tables: Pokazuje trenutni broj tablica otvorena. Ta vrijednost treba biti analiziran u kombinaciji s cache veličine tablice. Normalno veličini table_cache treba postaviti višu za ovu varijablu. Ako je vrijednost open_tables je mnogo niža od table_cache kako bi se izbjegle performansi problema, to je, dakle, isto tako smanjiti veličinu cache. Ako je vrijednost open_tables je veoma visoka i približavajući veličina cache, onda ga podići table_cache.
  • Select_full_join: Broj puni pridružiti MySQL je izvršio u susret zahtjevima klijenta. Visoka vrijednost ukazuje na to da umjesto korištenja indekse, MySQL je prisiljena obavljati kompletan pridružite. Ovo ukazuje na potrebu za jakim indeks ovim tablicama.
  • Slow_queries: označava broj upita da uzme više vremena nego što je to uobičajeno da se uradi. Visoka vrijednost treba dovesti nas analizirati Sporo Upit Prijavite identificirati koji su to slow upita na optimizirati.
  • Threads_connected: ukazuje na ukupan broj klijenata koji su spojeni na poslužitelj u takvom trenutku.
  • Created_tmp_disk_tables: označava broj privremenih tablica, koje su izrađene na disku umjesto memorije. Od pristup tablicama na disk je obično sporiji nego u memoriju, sadržaj varijable će biti obrnuto proporcionalna brzini kojom upiti su trčanje naredba stvori privremene tablice.
  • Produženje rada: Prikazuje koliko sekundi je na usluzi.
Published in: mysql, savjete

Dodaj komentar

Powered by CyberTek - Daljinska pomoć