School

How to fix Mysql high usage

26 Lug , 2017  

Depending on what’s causing the memory bottleneck, the solution can vary.

Here are the top resolutions for MySQL high memory usage.

1. MySQL settings optimization

MySQL uses memory in two ways:

Memory permanently reserved for its use
– This category of memory known as “Global Buffers” is obtained from the operating system during server boot-up and is not released to any other process.

Memory which is requested dynamically based on requests
– MySQL uses “Thread Buffers“, which is memory requested from the operating system as and when a new query is processed. Once the query is executed, this memory is released back to the operating system.

So, you can say the memory usage of MySQL is

“Global Buffers + (Thread Buffers x maximum number of allowed connections)”.

This value should always be kept below 90% of server memory for a dedicated database server.

If it is a shared server, it should be kept below 50%.

Here are a few of the common MySQL settings that determines memory usage, and how you can decide it’s size.

innodb_buffer_pool_size
– For InnoDB storage engine, caching is done in the buffer pool. The size of the buffer pool is important for system performance and is assigned a value that is between 50-70% of available RAM. Too small pool size can cause excessive flushing of pages and too large size can cause swapping due to competition for memory.

key_buffer_size
– For MyISAM storage engine, this parameter determines the caching and key_buffer_size has to be set according to the RAM, which is around 20% of RAM size.

max_connections
– To limit the number of connections possible for MySQL at any instant of time, to avoid a single user from overloading the server, max_connections is used.
Each thread uses a portion of the RAM for allotting its buffers and hence limiting the maximum no of connections based on the RAM size is important.

Approx formula, max_connections = (Available RAM – Global Buffers) / Thread Buffers

query_cache_size
– The query cache can be useful in an environment where you have tables that do not change very often and for which the web server receives many identical queries such as a blog or record lookup.
The query cache stores the text of a SELECT statement together with the corresponding result that was sent to the client. So this parameter is used only for such application servers or otherwise disabled and set to 0 for other servers. To avoid resource contention, even if it is enabled, the value is set a minimal one of around 10MB.

Like
Like Love Haha Wow Sad Angry


Comments are closed.

RSS Open school

  • Come si utilizzano le immagini in html? 20 Gennaio 2022
  • La normalizzazione Prima, Seconda e Terza forma normale 23 Aprile 2021
    La dispensa relativa all'argomento le trovate qui http://bit.ly/normalizzazione. (autore G. Messina)
  • Qual’è il vaccino più efficace? 6 Marzo 2021
    Vuoi vedere una panoramica di tutti i vaccini disponibili e la loro efficacia, Leggi questo articolo Potendo scegliere quale ti ispira più fiducia?
  • Verifica informatica (Simulazione Esami) 26 Febbraio 2021
    Il Comune di una città europea di medie dimensioni vuole implementare, per sostenere politiche di mobilità sostenibile, un servizio di noleggio di biciclette attraverso stazioni di “noleggio e riconsegna” dislocate in diversi punti della città. Al fine di addebitare il costo del servizio di noleggio, si vuole conoscere in ogni momento chi ha preso in […]
  • Configurazione del server apache il file VHOSTS 12 Febbraio 2021
    Esempio di configurazione del file VHosts         DocumentRoot "/Users/gianni/www/iovot"         ServerName iovot.local         ErrorLog "/private/var/log/apache2/iovot.local-error_log"         CustomLog "/private/var/log/apache2/iovot.local-access_log" common                      AllowOverride All             Require all granted         
  • Principali comandi linux 12 Febbraio 2021
    https://www.ecommunication.it/it/ubuntu/principali-comandi-linux-riga-di-comando --help è la guida che spiega la sintassi del comando$ ls --helpE' la guida che spiega la sintassi del comando ls$ ls --help | lessconsente di visualizzare la guida del comando ls su più pagine video (vedi comando less)CD: CAMBIO DIRECTORY (CARTELLA)cd consente di cambiare la directory corrente in quella indicata in (change directory)$ cd […]
  • Quale il payoff per IoVot? 11 Febbraio 2021
    Proponete qui il vostro Payoff
  • Cosa sono gli stakeholder? 4 Febbraio 2021
    Identificare gli stakeholder è fondamentale per lo sviluppo e il posizionamento di mercato. Nel contesto del sistema di votazioni iovot, quali sono i possibili stakeholder?
  • Che cos'è un'analisi di mercato? 4 Febbraio 2021
    Come va condotta un'analiso di mercato?
  • Facendo riferimento al linguaggio DML, per cosa si utilizza il comando SELECT? Proponi un esempio. 13 Gennaio 2021