Оптимизация сервера mysql для ОС Debian / Ubuntu для облачных и арендованных серверов | ВесьТоп создание и продвижение сайтов

Поддержка сайта

Высокие позиции в поисковой системе, на прямую зависят от развития вашего сайта.

Продвижение сайтов

Эффективность стратегий продвижения подтверждается сотрудничеством с крупными клиентами и отзывами о нашей работе.

Создание сайтов

Мы делаем сайты быстро, недорого и профессионально. От работы с нами, у вас останутся только положительные эмоции.

Оптимизация сервера mysql для ОС Debian / Ubuntu для облачных и арендованных серверов

Для полноценного функционирования современных динамических веб-приложений сервер mysql играет чрезвычайно важную роль. Он занимается извлечением необходимой нам информации из баз данных, вставкой в ​​них новых, а также выполнением других операций, таких как обновление, удаление и т. Д.

Чтобы ускорить и оптимизировать работу сервера mysql, ему необходимы дополнительные настройки, которые позволят ему работать быстрее и эффективнее. Чем быстрее ваш сервер mysql выполнит свою работу, тем быстрее будет работать ваше динамическое приложение.

Оптимизация сервера MySQL — это процесс, который невозможно описать в нескольких словах, даже на нескольких страницах. Каждое приложение, в зависимости от требований и типа используемых баз данных, имеет свои собственные требования. Для идеальной оптимизации и отработки работы сервера необходимо подходить индивидуально.

Конечно, есть базовые параметры и опции, которые лучше выставлять как минимальные значения, чем отключать. К сожалению, во время первоначальной установки сервера mysql на вашу виртуальную машину в некоторых дистрибутивах Linux сервер mysql запускается с минимальными параметрами и даже выключается, что, в свою очередь, приводит к снижению производительности вашего динамического приложения.

Важно понимать, что оптимизация сервера mysql — это процесс, к которому необходимо подходить индивидуально для каждого приложения, но мы постараемся показать несколько основных принципов и инструмент, с помощью которого вы можете сделать первые шаги в этом процессе. оптимизация, которая непременно увеличит функциональность вашего динамического приложения

Начнем с самой оптимизации! Команда FriendlyGeeks из ICN.Bg рекомендует вам отличный скрипт Perl, который будет проверять состояние вашего сервера mysql, выполняя необходимые проверки за вас. В результате проверки скрипт покажет вам, какие параметры необходимо настроить.

Информацию о скрипте Perl можно найти здесь:

lt; https: //github.com/major/MySQLTuner-perlgt;

Вам понадобится несколько дополнительных программ, чтобы загрузить zip-архив с github и затем распаковать его.

Для систем на базе Debian:

вс —

Вы вошли в систему как root:

apt-get update
да | apt-get install wget

После выполнения вышеуказанных команд, если у вас установлен wget, будет показано, что он уже установлен — wget уже является последней версией. В противном случае он будет установлен. Вам также необходимо установить unzip, поскольку он понадобится вам для распаковки файла master.zip, который вы будете загружать.

да | apt-get install распаковать

Вы загружаете сценарий perl из github с помощью следующей команды, но перед этим лучше перейти в каталог / opt, выполнив следующую команду:

cd / opt
wget https://github.com/major/MySQLTuner-perl/archive/master.zip

Результат должен быть похож на следующий:

2014-07-04 13:02:34 (198 КБ / с) — "master.zip" сохранено [26513]

Затем разархивируйте файл master.zip с помощью следующей команды:

разархивировать master.zip

Вы входите в папку, где находится скрипт:

компакт-диск / MySQLTuner-perl-master

Перечислите содержимое папки:

ls

В нем вы должны найти следующие три файла:

ЛИЦЕНЗИЯ mysqltuner.pl README.md

Вы можете внимательно посмотреть файл README.md. Нам понадобится файл mysqltuner.pl. Прежде чем мы продолжим, чтобы вы могли запускать сценарий каждый раз без необходимости вводить пароль root для сервера mysql, мы сделаем небольшой трюк.

Скопируйте mysqltuner.pl в / root с помощью следующей команды:

cp mysqltuner.pl / корень

Вы входите в корневой каталог /.

cd / root

Вы создаете файл .my.cnf:

nano .my.cnf

и введите следующий контент:

[client] user = root password = (сразу после символа"знак равно", без пробелов и скобок введите свой пароль mysql)

Сохранить с помощью [CTRL] + [X] -gt; да

Измените права доступа к файлу, чтобы он был виден только пользователю root:

chmod 600 .my.cnf

Хотя файл должен быть исполняемым, на всякий случай можно повторить:

chmod + x mysqltuner.pl

Теперь вы готовы запустить сценарий с помощью команды:

./mysqltuner.pl

Результат должен выглядеть так:

# ./mysqltuner.pl

gt; gt; MySQLTuner 0.9.8 — майор Hayden major@mhtx.net

gt; gt; Отчеты об ошибках, запросы функций и загрузки на http://mysqltuner.com/

gt; gt; Запустите с ‘—help’ для дополнительных параметров и фильтрации вывода

Пожалуйста, введите свой логин администратора MySQL: ** lt; — root

Введите пароль администратора MySQL: ** lt; — yourrootsqlpassword

——— Общая статистика ———————————————— —

[-] Пропущена проверка версии для скрипта MySQLTuner

[!!] Ваша версия MySQL 4.1.11-Debian_etch1-log — это программа EOL! Скоро обновление!

[OK] Работа на 32-битной архитектуре с объемом ОЗУ менее 2 ГБ

——— Статистика механизма хранения ——————————————

[-] Статус: + Архив -BDB -Federated + InnoDB + ISAM -NDBCluster

[-] Данных в таблицах MyISAM: 301M (таблиц: 2074)

[-] Данных в таблицах HEAP: 379K (таблиц: 9)

[!!] InnoDB включен, но не используется

[!!] ISAM включен, но не используется

[!!] Всего фрагментированных таблиц: 215

——— Показатели эффективности ———————————————— —

[-] Время работы: 12д 18ч 33м 30с (1B q [1K qps], 185K соединение, TX: 3B, RX: 377M)

[-] Чтение / запись: 78% / 22%

[-] Всего буферов: 2,6 МБ на поток и 58,0 МБ глобальных

[OK] Максимально возможное использование памяти: 320,5 МБ (20% установленной ОЗУ)

[OK] Медленные запросы: 0% (17 / 1B)

[OK] Максимальное использование доступных подключений: 32% (32/100)

[OK] Размер ключевого буфера / общие индексы MyISAM: 16.0M / 72.3M

[OK] Коэффициент попадания в буфер ключа: 99,9%

[OK] Эффективность кеша запросов: 99,9%

[!!] Запросить очистку кеша в день: 47549

[OK] Сортировки, требующие временных таблиц: 0%

[!!] Временные таблицы, созданные на диске: 28%

[OK] Частота попаданий в кеш потоков: 99%

[!!] Показатель попадания в кеш таблицы: 0%

[OK] Использовано ограничение на количество открытых файлов: 12%

[OK] Блокировки таблиц установлены немедленно: 99%

[!!] Соединения прерваны: 20%

——— Рекомендации ————————————————-

Общие рекомендации:

Добавьте skip-innodb в конфигурацию MySQL, чтобы отключить InnoDB

Добавьте skip-isam в конфигурацию MySQL, чтобы отключить ISAM

Запустите OPTIMIZE TABLE, чтобы дефрагментировать таблицы для повышения производительности

Включите журнал медленных запросов для устранения неправильных запросов

* При внесении корректировок сделайте tmptablesize / maxheaptable_size равным *

Сократите количество запросов SELECT DISTINCT без предложений LIMIT

Постепенно увеличивайте table_cache, чтобы избежать ограничений файлового дескриптора

Ваши приложения не закрывают соединения MySQL должным образом

Переменные для настройки:

* querycachesize (gt; 16M) *

* tmptablesize (gt; 32M) *

* maxheaptable_size (gt; 16M) *

* table_cache (gt; 64) **

Важные вещи, которые вам нужно прочитать, взяты из Рекомендаций ниже, так как настройки, которые вам нужно изменить, вы можете увидеть ниже в разделе Переменные для настройки:. Настройки устанавливаются в конфигурационном файле сервера myslq, который в системах на базе Debian находится в каталоге:

/etc/mysql/my.cnf

Важно! Прежде чем вносить какие-либо изменения в этот файл, рекомендуется создать резервную копию. Чтобы сделать резервную копию, перейдите в каталог # cd / etc / mysql / и сделайте копию, выполнив команду:

# cp my.cnf my.cnf.backup

Откройте файл текстового редактора с помощью команды # nano my.cnf.

После строки [mysqld] вы должны найти следующие значения:

query_cache_size (gt; 16M) tmp_table_size (gt; 32M) max_heap_table_size (gt; 16M) table_cache (gt; 64)

эти значения должны быть установлены со знаком =. В этом файле не должно быть символьных значений lt; или gt;! Как только вы их найдете, вы устанавливаете значения, которые дает вам сценарий, а именно следующие:

Переменные для настройки:

* querycachesize (gt; 16M) *

* tmptablesize (gt; 32M) *

* maxheaptable_size (gt; 16M) *

table_cache (gt; 64)

Обратите внимание, что если база данных сделана не очень хорошо, независимо от того, насколько вы увеличиваете значение * joinbuffersize *, она всегда будет запрашивать все больше и больше, но проблема: [!!] Соединения, выполненные без индексов: 16751, всегда будут доступны. Так что не переусердствуйте, увеличивая это значение.

Значения устанавливаются следующим образом:

query_cache_size = 64M tmp_table_size = 32M

После настройки параметров вы сохраняете файл с тем же именем (для nano ctrl + x нажмите «Да») и должны перезапустить mysql, что является хорошей практикой перед остановкой веб-сервера. Сделать это можно следующим образом:

/etc/init.d/apache2 stop

ожидая его остановки и запуска:

/etc/init.d/mysql перезапуск

Жду следующего:

Запуск сервера базы данных MySQL: mysqld. Проверка на наличие поврежденных, не закрытых чисто и обновление таблиц.

Если сервер mysql возвращает [сбой], не беспокойтесь, потому что вы можете легко и быстро восстановить файл, резервную копию которого вы создали ранее, следующим образом:

cp my.cnf.backup my.cnf

и снова запустите mysql:

/etc/init.d/mysql start

Перезагрузите веб-сервер:

/etc/init.d/apache2 start

Проверьте, работает ли приложение!

Вы можете запускать # ./mysqltuner.pl сколько угодно раз, пока не достигнете желаемых результатов.

ВАЖНЫЙ СОВЕТ! Обратите внимание на этот параметр:

[OK] Максимально возможное использование памяти: 320,5 МБ (20% установленной ОЗУ)

Процентный показатель не должен превышать 70%. Однако вашему серверу требуется оперативная память для других запущенных процессов. MySQL

Читайте так же:
Not found

Нам доверяют

Интернет магазин