Малко теория. На операционни системи UNIX, има файлова система, която се намира физически в RAM, но ви позволява да работите с него като с обикновен диск. размер единица твърд диск достъп е около 1 мс. скорост памет достъп - 0,001 милисекунди. Нека да го прилага към база от данни, за да получите най-доброто от операциите по вмъкване / актуализиране.
Първо, проверете скоростта на случайни пише на твърдия диск:
Сега направи същото за обща памет (/ цикъл / SHM или / сътрудничество / SHM):
Ние сравняваме резултатите и ще видите, че създаването на 1,000 файлове намалял през 574 пъти. Добре. Така че ние трябва да очакваме тласък на скоростта на запис в базата данни.
1) проверка на техния размер и пространство, за да / работи / SHM
2) да се провери колко място в базата данни
Така че ние можем да се премести на базата данни към / работи / SHM
3) Спрете MySQL:
4) Създаване на папка и да копирате данните:
5) правилната конфигурация:
6) дясното AppArmor:
7) Стартирайте MySQL
* Ако услугата не стартира - виж /var/log/mysql/error.log
Сега най-забавната част. Уверете се, че вън.
Тест на твърдия диск имах предварително, така донесе резултати веднага.
Актуализация извършва на случаен интервал [1 000 000 - 9000000] за първичния ключ (Id). Екстремни стойности изтласкани до двигателя, за да "копае" в таблицата.
Значително увеличение на скоростта на вмъкване, и още повече в актуализацията.
По-малко вмъкване защото MySQL ще конвертира всички индекси и данни на организацията.
В MySQL изложени настройки:
innodb_buffer_pool_size = 1024M
Ако поставите по-малко, скоростта UPDATE естествено пада на харддиска.
innodb_flush_log_at_trx_commit = 2
Като такива сделки тук ние нямаме и скоростта не е засегната. Въпреки това, оставяйки тази стойност до 2.
В такава схема е от решаващо значение да се напише двоичен дневник и правят редовни резервни копия. Сведете до минимум разходите за влизане, може да се посочи само за двоичен отделен твърд диск. Последователно скорост на запис много по-висока, отколкото на случаен HDD. Ето защо, ние поставяме в допълнително твърд диск, монтирайте го, например, / MNT / hddbin /, и уточнява my.ini пътя към двоичен дневника: log_bin = /mnt/hddbin/mysql-bin.log
Не забравяйте да добавите скрипт, за да се рестартира и изключване на системата. Радвайки се на папка / и т.н. / ЧП *. Обикновено това е 0 (изключване на системата) и 6 (нулиране). Ръководство как да добавите скриптове лесно да се намери в Google. Script преди рестартиране или изключване на системата ще спре MySQL, след това да копирате папката / план / SHM / MySQL импровизирам на твърдия диск. Когато скриптът система възстановява данните от твърдия диск в папка / цикъл / SHM / MySQL импровизирам и след това започва MySQL.
Просто добавете една проста Баш или Perl скрипт за мониторинг свободна памет / цикъл / SHM. Можете да се свържете Zabbix.
Свързани статии