CyberTek - the future at the present!
Google

Optimizarea MySQL

Postat de: admin (19 iunie)

Nu avem timp să vorbim despre cum să creaţi tabele optimizate pentru a da rezultate mai bune. Îmi amintesc doar că domeniile indexat îmbunătăţi mult de timp de execuţie. Discuţie în loc de unele mic truc pentru a face mai eficientă MySQL, care de regulă vine instalat pe cele mai multe distro, fără prea mulţi parametri pentru tuning. Info se referă la o distribuţie Linux, dar pot fi usor adaptate la alte sisteme de operare.

Fişierul de configurare este, de obicei în / etc / my.ini.

Eempio de my.ini:

[mysqld]
datadir = / var / lib / mysql
socket = / var / lib / mysql / mysql.sock
set-variabila = key_buffer = 64M
set-variabila = max_user_connections = 100
set-variabila = query_cache_size = 64M
# Implicit la utilizarea vechea parolă format de compatibilitate cu mysql 3.x
# Clienti (folosind cele mysqlclient10 compatibilitate pachet).
old_passwords = 1

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

[mysqld_safe]
err-log = / var / log / mysqld.log
PID-file = / var / run / mysqld / mysqld.pid

tampon: tampon de orice incremeto vor beneficia de o bază de date mult mai rapid. Apoi setaţi tampon bazate pe cantitatea de memorie disponibil, luându-se în considerare consumul făcute de sistemul de operare şi în alte aplicaţii şi servicii în uz. Dacă aloca prea mult timp de memorie care nu are o prevedere poate funcţiona în performanţa generală a sistemului.

Wait_timeout: reprezintă în momentul în care elapses închise înainte de a se conecta automat la MySQL din cauza lipsei de acţiune. Numărul de Jos este o performanţă mai bună. În acest caz trebuie de asemenea să joace la fel de conexiuni şi presupusa lor de timp pentru a calibra cel mai bun parametru.

back_log: controlează cât de multe conexiuni simultane de a putea susţine în timp ce creează noi Mysql şirul. Cu cât este mai mică la număr, cu atât este mai mare viteza. Aveţi grijă, este uşor să nu degrada performanţa prin stabilirea acestui parametru în mod corect, utilizaţi numai în cazul în care acest lucru este absolut necesar.

Max_user_connections: Setează numărul maxim de conexiuni permise pentru un utilizator. Este foarte util în cazul în care sistemele de acelaşi server MySQL utilizatorii au acces simultan.

Delayed_queue_size: numărul de rânduri, împreună cu INSERT întârziată. Mai puţin va fi în conformitate, cu atât mai rapid Mysql.

Sort_buffer_size: seturi de dimensiunea tampon alocate pentru punerea în aplicare a clauzelor ORDER BY şi de grup de clauze. Pentru a efectua interogări mai eficiente acest parametru este setat la o valoare mai mare de 2M.

Table_cache: controale de numărul de tabele deschise pentru toate firele, creşterea numărului de această variabilă va creşte mese încărcate simultan şi executarea Mysql va fi mult mai rapid. Atentie la acest parametru, sistemele de operare au o limită de indicii pentru a deschide fişiere dintr-o dată, dacă depăşeşte această limită s-ar putea să suporte, în orice sistem de funcţionare defectuoasă.

Thread_cache_size: Setează numărul de fire de a păstra în cache. Această caracteristică face ca utilizarea de fire de foarte repede.

Spectacolul STARE comanda ne ajută să monitorizeze în timp real, aceste variabile, care mai mult de alţii pentru a ne ajuta să înţelegem care sunt cele mai semnificative imbunatatiri putem face:

  • Handler_read_first: indică de câte ori prima înregistrare a fost citit de la o masă. Dacă acest lucru se întâmplă în mod frecvent, aceasta înseamnă că tabelul nu a fost indexat corect.
  • Innodb_buffer_pool_wait_free: indică numărul de ori MySQL că trebuie să aştepte pentru spălare de pagini de memorie. În cazul în care este de mare valoare a reveni apoi la piscina tampon dimensiune nu a fost configurat corect, pentru suma de suferit operaţii de scriere de către server.
  • Key_reads: indică numărul de acces MySQL ori că sistemul de fişiere în baza de date pentru indici. Acesta încetineşte viteza de executie de întrebare, aşa că, dacă această valoare este mare, atunci înseamnă că cheie tampon este prea mică şi trebuie să fi crescut.
  • Max_used_connections: indică numărul maxim de conexiuni pe care a trebuit să MySQL deschis, în ultimele boot. Pe de o parte, acesta este un adevărat punct de reper (acesta ajută să decidă numărul maxim de conexiuni care pot sprijini pe server), iar altul este prezentat ca un convenabil trafic Analyzer.
  • Open_tables: Indică numărul actual de tabele deschise. Această valoare ar trebui să fie analizată în combinaţie cu mărimea cache-ul de la masă. În mod normal, de dimensiunea table_cache ar trebui să fie stabilite mai mare pentru această variabilă. În cazul în care valoarea open_tables este mult mai mică decât table_cache, pentru a evita probleme de performanţă, este, prin urmare, de asemenea, reduce dimensiunea cache. În cazul în care valoarea open_tables este foarte mare şi se apropie de dimensiunea cache, apoi ridica-l table_cache.
  • Select_full_join: Numărul de deplină alătura MySQL a realizat pentru a satisface cererea de client. O mare valoare indică faptul că, în loc de a folosi indexurile, MySQL a fost obligat să efectueze complet alăture. Acest lucru sugerează nevoia de a avea un puternic indicele de aceste tabele.
  • Slow_queries: indică numărul de cereri, care a avut mai mult timp decât de obicei, pentru a fi realizat. O mare valoare ar trebui să ne duce pe noi de a analiza Slow Interogare Jurnal de a identifica ce sunt lente interogare pentru a optimiza.
  • Threads_connected: indică numărul total al clienţilor care sunt conectate la server într-un astfel de moment.
  • Created_tmp_disk_tables: indică numărul de tabele temporare, care au fost create de pe disc în loc de memorie. Deoarece accesul la tabelele de pe un disc este, de obicei, mai lent decât în memorie, conţinutul de variabilă va fi invers proporţională cu viteza cu care se execută interogări comanda CREATE TABLE TEMPORARĂ.
  • Uptime: Afişează câte secunde se află pe un serviciu.
Publicat în: mysql, sfaturi

Adauga un comentariu

Powered by CyberTek - Remote Assistance