какую нагрузку выдерживает mysql

Выдержит ли MySQL

Выдержит ли MySQL количество одновременных запросов около 1000. P4 DualCore, 2Гб памяти, или лучше сразу на PG?

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

Re: Выдержит ли MySQL

Если не секрет, зачем вам 1000 одновременных запросов? Это по 500 запросов на core.

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

Re: Выдержит ли MySQL

Re: Выдержит ли MySQL

> Выдержит ли MySQL количество одновременных запросов около 1000. P4 DualCore, 2Гб памяти, или лучше сразу на PG?

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

Re: Выдержит ли MySQL

Или, если увеличить мощность процессора до Xeon QuardCore 3Ггц (память до 4).

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

Re: Выдержит ли MySQL

40% update + 60% select, все простые, на таблицах от 10 тыс. до 1млн. записей тянул более 800 запросов в секунду в среднем за сутки (о пиковой нагрузке оставалось только догадываться) на 2x Xeon-1800, оставляя ещё место для MMORPG-сервера.

Re: Выдержит ли MySQL

> А PG выдержит? А что PG? Нафиг.

> Или, если увеличить мощность процессора до Xeon QuardCore 3Ггц (память до 4). Нельзя рассуждать таким образом. Конструировать модель БД надо правильно, и правильно с ней обращаться.

Источник

Ограничения по нагрузке

Как считается нагрузка

Лимиты нагрузки

По умолчанию суммарная нагрузка в день не должна превышать следующие показатели:

ТарифНагрузка на CPUНагрузка на MySQL
Year+501000
Optimo+3005000
Century+4007000
Millennium+60010000
Eterno100015000
Premium300025000
1Сайт100015000

С дополнительной услугой «Увеличение лимита нагрузки» лимиты могут быть расширены до следующих показателей:

Year+80 / 1101600 / 2200Optimo+480 / 6608000 / 11000Century+640 / 88011200 / 15400Millennium+960 / 132016000 / 22000Eterno1333 / 166627000 / 39000Premium4000 / 500045000 / 650001Сайт1333 / 166627000 / 39000

Лимиты по умолчанию:

Лимиты с учетом максимально возможного увеличения:

110 cp на CPU, 2200 единиц на MySQL для обычного хостинга и тарифов «Старт» CMS-хостинга;

Отображение нагрузки в ПУ

На графиках в панели управления (раздел «Нагрузка на сервер») можно увидеть динамику нагрузки за последние 2 часа / 24 часа / 30 дней. Превышение лимита отрисовывается на графике желтым цветом.

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

Обратите внимание, что суточные превышения будут отображены только на графике «30 дней»; на графиках за 2 и 24 часа превышений видно не будет (если, конечно, суточный лимит нагрузки не был превышен за 15 минут или 1 час соответственно).

Источник

36 млн запросов в час, 10000+ постоянно работающих клиентов, на одном сервере, nginx+mysql

Сложилась ситуация, что участвую в проекте, который работает с достаточно большой нагрузкой. Как уже написал — 36 млн запросов в час. Я много чего прочитал и перепробовал за последний месяц, настраивая сервер; хотелось бы просто сжато и компактно выдать тезисно то, что работает хорошо в такой конфигурации.

Первое, что я заметил — множество советов как все настроить под большую нагрузку. Читайте их внимательно, обычно в тексте найдете, что речь про «высокую нагрузку» в 15-20 тысяч клиентов в сутки. У нас клиентов примерно миллион, активных, ежедневных.

У нас нет денег и мы все делаем за свой счет, поэтому экономим. Итог — весь миллион клиентов обслуживается на одном сервере, вот на таком — EX-60 на hetzner.

Мы случайно сделали себе аналог DDoS через своих клиентов и в результате настроек, когда было по 4000 php процессов, загрузка ОС так же под 4000, я успел перепробовать множество конфигураций и найти наиболее работающие. С ошибкой в софте справились, теперь эти 10-12 тысяч запросов в секунду обрабатываются с загрузкой load average: 3,92, 3,22, 2,85. Не единичка, конечно, но для одного сервера считаю хорошим результатом.

Операционка — CentOS 7.1, 64 бита. Минимальная инсталляция, плюс iptables, nginx, php-fpm, mysql. Ядро 4-й версии, из kernel-ml.

Тюнинг настроек ядра под большой напор tcp коннектов:

Тюнинг лимитов по файлам, так как ни каких юзеров на сервере нет, то особо не заморачиваемся:

Монстры знают, но я давно не администрировал и был не в курсе, что * не работает на root, и его надо отдельно тюнинговать.

На этом с ядром всё.

Настройки мускула. Установлена percona-56.

Выбор был сделан в итоге на InnoDB, пробовали TokuDb, но на больших объемах постоянных инсертов, а их у нас 95% из 36 млн в час. InnoDB ведет себя лучше, тесты самой перконы говорят о том же.

Обязательно отключаем при такой нагрузке query-cache. Он будет реально тормозить всю систему. Впрочем, поиграйтесь, возможно в вашем случае нет, но во многих тестах и текстах встречал этот момент, проверил у себя — так и есть, с отключенным работает быстрее.

skip-name-resolve тоже дает хороший прирост.

Дополнительные настройки по отношению к стандартным для nginx:

nginx тюним под наши нужды:

user nginx;
worker_processes 8;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

events <
worker_connections 8000;
multi_accept on;
use epoll;
>

http <
include /etc/nginx/mime.types;
default_type application/octet-stream;

access_log /var/log/nginx/access.log main;

gzip off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
reset_timedout_connection on;
server_tokens off;
client_body_buffer_size 128k;

Ядер 8, поэтому и worker-процессов 8, по 8000 на брата, все-равно больше 64к не обслужить за раз. Будет небольшая очередь, если будет больше одновременных коннектов.

В сайте с php-fpm общаемся через сокеты:

Основное по конфигурации php-fpm:

ondemand мало где описан, но он лучше чем dynamic под большой нагрузкой. А static — это, конечно, убийство для сервера, не понравилось сильно.

ondemand начинает с 5, при необходимости наращивается, но в отличии от dynamic с уменьшением нагрузки не убивает процессы, чтобы потом опять наращивать, а просто на пике фиксирует значение и переводит ненужный в режим ожидания. И если вдруг нагрузка опять растет — процессы уже готовы, никого не надо запускать с нуля.

pm.max_requests = 0 помогает боротся с утечками памяти, в стороннем софте.

Собственно, так мы и обслуживаем 36 млн в час, из которых 95 процентов — передача к нам данных и запись их в БД. На 2.8 миллиарда запросов у нас сейчас от 10 до 16 slow_query, каждый не больше 10 секунд, причем все они — селекты с джойнами по многим полям и таблицам. Остальные запросы отрабатывают моментально.

Вместо php-fpm компилировал и использовал hhvm одно время, действительно работает шикарно, значительно быстрее php-fpm, но есть беда — каждые 30-40 минут падает, причем наглухо.

В git разработчикам написал, пока ничем не смогли помочь, причин не знают. В итоге сидим на php-fpm, версия 5.6.

Весь софт ставится через yum, ни каких билдов с сорцов с мегатюнингом не используется.

Думаю, кому-то будет полезна эта информация о настройках вся в одном месте.

Источник

Миллионы запросов в секунду: мирная битва между PostgreSQL и MySQL при сегодняшних требованиях к рабочим нагрузкам

Мы уже упоминали, что в этом году тематика конференции PG Day’17 Russia значительно расширилась. Совместно с компанией Percona мы сформировали отдельный поток выступлений по MySQL/NoSQL. Помимо докладов от ведущих специалистов по открытым базам данных и no sql решениям, в рамках конференции состоятся также 2 эксклюзивных мастер-класса от ведущих специалистов Percona — Петра Зайцева и Светы Смирновой.

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

На мастер-классах будут рассмотрены самые различные темы по базам MySQL: создание и использование тестового сервера, тонкости отладки медленных запросов, особенности систем блокировок, влияние оборудования и конфигурации на производительность, сбор данных с минимальной нагрузкой на сервер.

Сегодня предлагаем вашему вниманию перевод небольшого обзора, в котором Света Смирнова ‒ старший инженер службы технической поддержки Percona и Анастасия Распопина, специалист по маркетингу, сравнивают как PostgreSQL и MySQL справляются с миллионами запросов в секунду.

5-го июля для участников PG Day’17 Светлана более подробно расскажет про архитектуру MySQL сервера и специфику работы с разными его частями, такими как оптимизатор, табличные движки, системы блокировок.

Анастасия: Могут ли базы данных с открытым исходным кодом справиться с миллионом запросов в секунду? Многие защитники открытого исходного кода ответят «да». Однако утверждений недостаточно для обоснованных доказательств. Именно поэтому в этой статье мы делимся результатами тестов от Александра Короткова (директора отдела разработки, Postgres Professional) и Светы Смирновой (главный инженер по техническому обслуживанию, Percona). Сравнительное исследование производительности PostgreSQL 9.6 и MySQL 5.7 будет особенно полезно для сред с несколькими базами данных.

Идея этого исследования состоит в том, чтобы обеспечить честное сравнение двух популярных СУБД. Света и Александр хотели протестировать самые последние версии MySQL и PostgreSQL с помощью одного и того же инструмента при одних и тех же сложных рабочих нагрузках и с использованием одинаковых параметров конфигурации (где это возможно). Однако, поскольку экосистемы PostgreSQL и MySQL эволюционировали независимо друг от друга, со стандартными инструментами тестирования (pgbench and SysBench), используемыми для каждой базы данных, это было непросто.

Задача легла на экспертов по базам данных с многолетним практическим опытом. Света работала в качестве старшего главного инженера по технической поддержке в группе проверки ошибок службы поддержки MySQL в Oracle на протяжении восьми с лишним лет, а с 2015 года работала главным инженером по техническому обслуживанию в компании Percona. Александр Коротков является одним из основных разработчиков PostgreSQL и разработчиком ряда функций PostgreSQL, включая команду CREATE ACCESS METHOD, общий интерфейс WAL, неблокирующий Pin/UnpinBuffer, индексный поиск для регулярных выражений и многого другого. Итак, у нас подобрался довольно приличный актерский состав для этой пьесы!

Света: Дмитрий Кравчук регулярно публикует подробные результаты тестов для MySQL, так что задача была не в том, чтобы подтвердить, что MySQL может выполнить миллионы запросов в секунду. Как показывают наши графики, мы уже преодолели эту отметку. Будучи инженером поддержки, я часто сталкиваюсь с клиентами, работающими в гетерогенной среде с разными базами данных, и мне хотелось разобраться с влиянием переноса задач из одной базы данных в другую. Поэтому я была рада возможности поработать с компанией Postgres Professional и выявить сильные и слабые стороны этих двух баз данных.

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

Спойлер: Мы пока далеки от окончательных результатов. Это начало серии статей.

Базы данных с открытым исходным кодом на больших машинах, серия 1: «Это было близко…»
Postgres Professional вместе с Freematiq предоставили для тестов две мощные современные машины.

Процессоры: физические = 4, ядра = 72, виртуальные = 144, hyperthreading = да
Память: 3 TB
Скорость диска: около 3K IOPS
ОС: CentOS 7.1.1503
Файловая система: XFS
Также я использовала менее производительную машину Percona.
Конфигурация оборудования:
Процессоры: физические = 2, ядра = 12, виртуальные = 24, hyperthreading = да
Память: 251.9 GB
Скорость диска: около 33K IOPS
ОС: Ubuntu 14.04.5 LTS
Файловая система: EXT4

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

Стандартный инструмент PostgreSQL для тестирования производительности — pgbench, а для MySQL — SysBench. SysBench поддерживает несколько драйверов баз данных и скрипты для тестов на языке программирования Lua, поэтому мы решили использовать этот инструмент для обеих баз данных.

Первоначальный план состоял в том, чтобы преобразовать тесты pgbench в синтаксис SysBench на Lua, а затем запустить стандартные тесты для обеих баз данных. Получив первые результаты, мы изменили наши тесты, чтобы лучше изучить специфические возможности MySQL и PostgreSQL.
Я сконвертировала тесты pgbench в синтаксис SysBench и поместила тесты в репозиторий open-database-bench на GitHub.

И тогда мы оба столкнулись с трудностями.

Как я уже писала, я также прогоняла тесты на машине Percona. Для этого сконвертированного теста результаты были почти идентичными:

Я начала разбираться. Единственным, в чём машина Percona превосходила Freematiq, была скорость диска. Поэтому я начала прогонять read-only тест pgbench, который был идентичен point select тесту SysBench с полным набором данных в памяти. Но на этот раз SysBench использовал 50% доступных ресурсов CPU:

У Александра, в свою очередь, были проблемы с SysBench, который не мог создать высокую нагрузку на PostgreSQL при использовании prepared statements:

Мы связались с автором SysBench Алексеем Копытовым, и он предложил следующее решение для MySQL:

• используйте SysBench с параметрами —percentile=0 и —max-requests=0 (разумное использование CPU);
• используйте ветвь concurrency_kit (лучший параллелизм и обработка Lua);
• перепишите скрипты Lua для поддержки prepared statements (pull request: github.com/akopytov/sysbench/pull/94);
• запускайте как SysBench, так и mysqld с предварительно загруженной библиотекой jemalloc или tmalloc.

Исправление для PostgreSQL уже на подходе. На данный момент Александр преобразовал стандартный тест SysBench в формат pgbench, и на этом мы застопорились. Не так много нового для MySQL, но, по крайней мере, у нас была исходная точка для сравнения.

Следующая трудность, с которой я столкнулась, — это параметры операционной системы по умолчанию. Если коротко, то я изменила их на рекомендуемые (описано ниже):

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

После решения этих проблем мы узнали и реализовали следующее:

• мы не можем использовать один инструмент (пока);
• Александр написал тест для pgbench, имитирующий стандартные тесты SysBench;
• мы все еще не можем писать кастомные тесты, поскольку используем разные инструменты.

Но мы могли бы использовать эти тесты в качестве исходной точки. После работы, выполненной Александром, мы застряли в стандартных тестах SysBench. Я преобразовала их для использования prepared statements, а Александр преобразовал их в формат pgbench.

Стоит упомянуть, что я не смогла получить такие же результаты, как у Дмитрия, для тестов Read Only и Point Select. Они похожи, но немного медленнее. Нам нужно разобраться, является ли это результатом использования разных аппаратных средств или недостатком навыков в области тестирования производительности с моей стороны. Результаты тестов Read-Write совпадают.

Между тестами PostgreSQL и MySQL было еще одно различие. У пользователей MySQL обычно много соединений. Установка значения переменной max_connections для ограничения общего числа параллельных подключений до тысяч не редкость в наши дни. Хотя это и не рекомендуется, люди используют данную функцию даже без плагина thread pool. В реальной жизни большинство этих соединений неактивны. Но всегда есть шанс, что все они окажутся задействованы в случае увеличения активности веб-сайта.

Для MySQL я проводила тесты до 1024 соединений. Я использовала степени двойки и множители количества ядер: 1, 2, 4, 8, 16, 32, 36, 64, 72, 128, 144, 256, 512 и 1024 потока.

Для Александра было важнее провести тест меньшими шагами. Он начал с одного потока и увеличивал на 10 потоков, пока не достиг 250 параллельных потоков. Таким образом, вы увидите более подробный график для PostgreSQL, но результатов после 250 потоков нет.
Вот результаты сравнения.

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

pgsql-9.6 — стандартный PostgreSQL
pgsql-9.6 + pgxact-align — PostgreSQL с этим патчем (подробнее можно почитать в этой статье)
MySQL-5.7 Dimitri — сервер Oracle MySQL
MySQL-5.7 Sveta — сервер Percona 5.7.15

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

Функция синхронного подтверждения транзакций (sync commit) в PostgreSQL аналогична innodb_flush_log_at_trx_commit=1 в InnoDB, а асинхронный коммит аналогичен innodb_flush_log_at_trx_commit=2.
Вы видите, что результаты очень похожи: обе базы данных развиваются очень быстро и хорошо работают с современным оборудованием.

Результаты MySQL, которые показывают 1024 потока для справки.
Point SELECT и OLTP RO

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

OLTP RW с innodb_flush_log_at_trx_commit, установленным на 1 и 2

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

Получив эти результаты, мы провели несколько специальных тестов, которые будут рассмотрены в отдельных статьях.

Дополнительная информация

Опции MySQL для тестов OLTP RO и Point SELECT:

Опции MySQL для OLTP RW:

Параметры MySQL SysBench:

Параметры PostgreSQL pgbench:

Дальнейшие версии исследования будут доступны для всех участников мастер-класса Светы на PG Day’17. Если у вас есть вопросы и пожелания по тому, о каких аспектах производительности PostgreSQL и MySQL вы бы хотели узнать подробнее, оставляйте комментарии, мы обязательно учтем ваши пожелания!

Источник

Оптимизация производительности MySQL

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

Скорость работы MySQL

Оптимизация без аналитики бессмысленна. Перед тем как переходить к оптимизации давайте посмотрим как работает база данных сейчас, есть ли запросы, которые выполняются очень медленно. Все настройки вашего сервиса mysql находятся в файле /etc/my.cnf. Чтобы включить отображение медленных запросов добавьте такие строки в my.cnf, в секцию [mysqld]:

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

Но это уже необязательно для проверки скорости и используется больше для отладки кода и правильности создания таблиц. Дальше перезапустите сервер баз данных и посмотрите лог:

systemctl restart mariadb

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

Мы можем видеть, что есть запросы, которые выполняются больше, чем 10 секунд. Это, например, запрос

SELECT option_name, option_value FROM wp_options WHERE autoload = ‘yes’;

Можно его выполнить отдельно, в консоли mysql:

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

Оптимизация MySQL

Конфигурация MySQL достаточно сложная, но, к счастью, вам не нужно в нее сильно углубляться. Есть специальный скрипт под названием MySQLTunner, который анализирует работу MySQL и дает советы какие параметры нужно изменить и какие значения для них установить. Скрипт поддерживает большинство версий MariaDB, MySQL и Percona XtraDB. Нам понадобится загрузить три файла с помощью wget:

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

Буквально за несколько минут скрипт выдаст полную статистику по работе MySQL. Количеству запросов, занимаемому объему памяти и эффективности работы буферов. Вы можете ознакомиться со всем этим, чтобы лучше понять в чем причина проблем. Проблемные места обозначены красными восклицательными знаками. Например, здесь мы видим, что размер буфера движка таблиц InnoDB (InnoDB buffer pool) намного меньше, чем должен быть для оптимальной работы:

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

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

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

Все параметры нужно добавлять в /etc/my.cnf. Еще раз замечу, что вы не копируете статью, а смотрите что вам выдала утилита. Начнем с query-cache.

query_cache_size=0
query_cache_type=0
query_cache_limit=1M

Оба параметра устанавливают размер памяти, которая используется для внутренних временных таблиц MySQL. Утилита рекомендует использовать объем больше 16 мегабайт, просто установите это ваше значение для обоих переменных, если у вас достаточно памяти, то можно выделить 32 или даже 64. Но важно чтобы оба значения совпадали, иначе будет использоваться минимальное.

Этот параметр отвечает за количество потоков, которые будут закэшированны. После того, как работа с подключением будет завершена, база данных не разорвет его, а закэширует, если количество кэшированных потоков не превышает ограничение. Утилита рекомендует больше четырех, например, 16.

Указывает, что не нужно пытаться определить доменное имя для подключений извне. Ускоряет работу, так как не тратится время на DNS запросы.

Этот параметр определяет размер буфера InnoDB в оперативной памяти, от этого размера очень сильно зависит скорость выполнения запросов. Значение зависит от размера ваших таблиц и количества данных в них. Если памяти недостаточно, запросы будут обрабатываться дольше. У меня используется стандартный объем 128, а нужно больше 652.

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

Размер файла лога innodb должен составлять 25% от размера буфера. В случае 800 мегабайт это будет 200М. Но тут есть одна проблема. Чтобы изменить размер лога нужно выполнить несколько действий. Поскольку мы изменили все нужные параметры перейдем к перезагрузке сервера. Для нашего лога нужно остановить сервис:

systemctl stop mariadb

Затем переместите файлы лога в /tmp:

mv /var/lib/mysql/ib_logfile[01] /tmp

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

И запустите сервис:

systemctl start mariadb

Когда размер лога меняется сервис видит поврежденный лог, выдает ошибку и не запускается. Поэтому сначала нужно удалить старый. После этого смотрите есть ли сообщения об ошибках:

systemctl status mariadb

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

Тестирование результата

Готово оптимизация базы данных mysql завершена, теперь тестируем тот же запрос через клиент mysql:

> USE база_данных;
> SELECT option_name, option_value FROM wpfc_options WHERE autoload = ‘yes’;

какую нагрузку выдерживает mysql. картинка какую нагрузку выдерживает mysql. какую нагрузку выдерживает mysql фото. какую нагрузку выдерживает mysql видео. какую нагрузку выдерживает mysql смотреть картинку онлайн. смотреть картинку какую нагрузку выдерживает mysql.

Первый раз он выполняется долго, может даже дольше чем обычно, но все последующие разы буквально мгновенно. Результат с более 3 секунд до 0,15. А если брать статистику из slow-log, то от более 12. Если в выводе утилиты для вас были предложены и другие оптимизации, то их тоже стоит применить.

Выводы

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

На завершение лекция про производительность MySQL от Percona:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *