CyberTek - the future at the present!
Google

Optimera MySQL

Inlagd av: admin (19 juni)

Ingen tid att prata om hur du skapar tabeller optimerad för att ge bättre resultat. Jag minns bara att de områden som indexeras förbättra mycket utförandet temne. Prata i stället för några små knep för att göra det mer prestanda att MySQL är vanligtvis installeras på de flesta distributioner utan alltför många parametrar för tuning. Informationen avser en Linux-distributioner men kan enkelt anpassas till andra OS.

Konfigurationsfilen finns vanligtvis i / etc / my.ini.

Eempio av my.ini:

[mysqld]
datadir = / var / lib / mysql
socket = / var / lib / mysql / mysql.sock
set-variable = key_buffer = 64M
set-variable = max_user_connections = 100
set-variable = query_cache_size = 64M
# Default att använda gamla lösenord format för kompatibilitet med MySQL 3.x
# Klienter (de som använder den mysqlclient10 kompatibilitet paketet).
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

buffertar: bufferten någon incremeto kommer att få en databas mycket snabbare. Ställ sedan in buffertar baserade på hur mycket minne som finns, med hänsyn till de som gjorts av operativsystem och andra applikationer och tjänster som används. Om du avsätta för mycket minne men inte med en bestämmelse får köra i hela systemet.

Wait_timeout: motsvarar den tid som går innan det stängs automatiskt ansluta till MySQL på grund av inaktivitet. Lägre nummer är bättre prestanda. I detta fall måste du också spela den typ av anslutningar och deras påstådda Temne att kalibrera den bästa parametern.

back_log: Kontrollerar hur många samtidiga anslutningar kan upprätthålla medan Mysql skapar ny tråd. Ju lägre nummer, desto högre hastighet. Akta dig, det är lätt att inte försämra prestandan genom att ställa in den här parametern korrekt använda detta endast när det är absolut nödvändigt.

Max_user_connections: Ställer in det maximala antalet anslutningar som får en användare. Det är mycket användbart i system där samma MySQL-server har tillgång till flera användare samtidigt.

Delayed_queue_size: antal rader med INSERT FÖRDRÖJD. Kommer att bli mindre i den riktning, desto snabbare Mysql.

Sort_buffer_size: ställer in storleken på bufferten anslagits för genomförandet av klausuler ORDER BY och GROUP BY. För att göra sökningar mer effektiva det denna parameter ges ett större värde än 2M.

Table_cache: styr antalet öppna tabeller för alla trådar, öka denna variabel kommer att öka tabeller lastas samtidigt och utförandet av Mysql kommer att vara mycket snabbare. Uppmärksamhet åt denna parameter operativsystemen har en gräns på pekare till filer öppnas samtidigt, om du överskrider denna gräns man kan ådra sig i alla system fel.

Thread_cache_size: Ställer in antal trådar att hålla cache. Denna egenskap gör användningen av trådar mycket snabbt.

Visa STATUS kommandot hjälper oss att övervaka i realtid de variabler, som mer än andra för att hjälpa oss förstå vad som är de mest betydande förbättringar vi kan göra:

  • Handler_read_first: Anger hur många gånger den första posten lästes från en tabell. Om detta händer ofta, det innebär att tabellen inte indexerade korrekt.
  • Innodb_buffer_pool_wait_free: anger hur många gånger som MySQL har att vänta på rodnad sidor i minnet. Om returvärdet är hög då bufferten pool storlek inte har konfigurerats korrekt för det belopp som skrivoperationer genomgått av servern.
  • Key_reads: anger hur många gånger som MySQL åt filsystem för databasen index. Detta saktar ned den hastighet av verkställande sökfrågan, så om detta värde är hög då det innebär att den centrala bufferten är för liten och bör ökas.
  • Max_used_connections: Anger det maximala antalet anslutningar som MySQL var tvungen att öppna under de senaste uppstart. Å ena sidan utgör detta ett sant jämförelseindex (det hjälper till att bestämma det maximala antalet anslutningar som servern kan stödja) och den andra presenteras som ett bekvämt trafik analysatorn.
  • Open_tables: Anger att det nuvarande antalet tabeller öppen. Detta värde bör analyseras i kombination med cachestorlek i tabellen. Normalt storlek table_cache bör vara högre för denna variabel. Om värdet av open_tables är mycket lägre än table_cache att undvika prestandaproblem är det därför också minska storleken på cachen. Om värdet av open_tables är mycket hög och närmar sig storleken på cache, och sedan ta upp det table_cache.
  • Select_full_join: Antalet fullständigt gå MySQL har utförts för att möta kunder. Ett högt värde anger att i stället för att använda index, MySQL har tvingats att utföra full ansluta. Detta tyder på att det behövs en stark för dessa tabeller.
  • Slow_queries: anger antalet sökfrågor som tog längre tid än vanligt att göra. Ett högt värde bör leda oss till att analysera Slow Query Log att identifiera vad som är långsamma sökfråga för att optimera.
  • Threads_connected: Anger det totala antalet klienter som är anslutna till servern på ett sådant ögonblick.
  • Created_tmp_disk_tables: anger antalet tillfälliga tabeller som har skapats på disk i stället för minnet. Med tanke på att tillgång tabellerna på en disk är oftast långsammare än minnet variabelns innehåll är omvänt proportionell mot den hastighet med vilken sökfrågor kör kommandot skapa tillfällig tabell.
  • Uptime: Visar hur många sekunder på tjänsten.
Publicerad i: mysql, tips

Lägg till en kommentar

Powered by CyberTek - Remote Assistance