Mysql
 sql >> база данни >  >> RDS >> Mysql

Промени в производителността на InnoDB

Вашият innodb_buffer_pool_size трябва да бъде настроен на количеството данни и индекси на InnoDB, които имате. Изпълнете тази заявка и тя ще ви каже минималната препоръчителна настройка за текущите данни Innodb на mysql

SELECT CONCAT(ROUND(KBS/POWER(1024,IF(pw<0,0,IF(pw>3,0,pw)))+0.49999),
SUBSTR(' KMG',IF(pw<0,0,IF(pw>3,0,pw))+1,1)) recommended_innodb_buffer_pool_size
FROM (SELECT SUM(index_length) KBS FROM information_schema.tables WHERE
engine='InnoDB') A,(SELECT 3 pw) B;

Ако вашите InnoDB данни далеч надвишават инсталираната RAM на DB сървъра, препоръчвам 75% от инсталираната RAM памет в кутията. Така че, ако имате 16GB сървър, използвайте 12G като innodb_buffer_pool_size.

Трябва също да зададете innodb_log_file_size на 25% от innodb_buffer_pool_size или 2047M, което от двете е по-малко. За да промените файловете ib_logfile0 и ib_logfile1, трябва:

mysql -uroot -p -e"SET GLOBAL innodb_fast_shutdown = 0;"
service mysql stop
rm ib_logfile0 ib_logfile1
service mysql start

Ако използвате MySQL 5.5, задайте следното:

innodb_read_io_threads=64
innodb_write_io_threads=64
innodb_io_capacity=20000 (set this to your device's IOPs)

Ако ще запазите MyISAM данни, изпълнете тази заявка за идеалната настройка за key_buffer_size:

SELECT CONCAT(ROUND(KBS/POWER(1024,IF(pw<0,0,IF(pw>3,0,pw)))+0.49999),
SUBSTR(' KMG',IF(pw<0,0,IF(pw>3,0,pw))+1,1)) recommended_key_buffer_size
FROM (SELECT SUM(index_length) KBS FROM information_schema.tables
WHERE engine='MyISAM' AND table_schema NOT IN ('information_schema','mysql')) A,
(SELECT 3 pw) B;

АКТУАЛИЗИРАНЕ 2013-02-13 12:55 EDT

Напоследък се научих да не задавам innodb_io_capacity много високо, ако изобщо. Това е особено вярно за стандартния хардуер и виртуалните машини:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да импортирате XML файл в таблицата на базата данни MySQL с помощта на XML_LOAD(); функция

  2. Laravel група по дата

  3. Най-добри практики в PHP и MySQL с международни низове

  4. предоставя отдалечен достъп до базата данни MySQL от всеки IP адрес

  5. MySQL заместващ знак в select