Конфигурация MySql для огромного Magento
Ниже приведен отчет от mysqltuner и, наконец, я написал статистику сервера и актуальный вопрос.
Показатели эффективности
[-] Up: 2d 14h 28m 52s (59M q [266,240 qps], 96K conn, TX: 114G, RX: 16G)
[-] Читает / пишет: 18% / 82%
[-] Двоичная регистрация отключена
[-] Физическая память: 125,9 г
[-] Макс. Объем памяти MySQL: 381,5 ГБ
[-] Другая память процесса: 308,9M
[-] Всего буферов: 59,2 ГБ глобальных + 66,0 М на поток (максимум 5000 потоков)
[-] P_S Максимальное использование памяти: 72B
[-] Использование памяти Galera GCache Max: 0B
[OK] Максимально допустимое использование памяти: 61, 3 ГБ (48,69% установленной оперативной памяти)
[!!] Максимально возможное использование памяти: 381,5 ГБ (302,98% установленной оперативной памяти)
[!!] Общее возможное использование памяти при превышении памяти другим процессом
[OK] Медленные запросы: 0% (171 /59M)
[OK] Максимальное использование доступных соединений: 0% (32/5000)
[OK] Прерванные соединения: 0,00% (1/96766)
[!!] По умолчанию кеш запросов может быть отключен из-за конфликта мьютексов.
[OK] Эффективность кэша запросов: 88,5% (34M кэшировано / 39M выбирается)
[OK] Запрос обрезки кеша за день: 0
[OK] Сортировки, требующие временных таблиц: 0% (264 временных сортировки / 276 тыс. Сортировок)
[!!] Объединения выполнены без индексов: 13649
[OK] Временные таблицы, созданные на диске: 3% (23 КБ на диске / 641 КБ всего)
[OK] Частота попаданий в кэш потоков: 99% (32 созданных / 96 КБ соединений)
[OK] Частота попаданий в кеш таблиц: 70% (открыто 7 Кб / открыто 10 Кб)
[OK] Используемый лимит открытого файла: 0% (124 / 1M)
[OK] Табличные блокировки получены немедленно: 100% (1K немедленные / 1K блокировки)Метрики MyISAM
[!!] Используемый буфер ключей: 18,1% (используется 27M / 150M кэш)
[!!] Размер буфера ключа / всего индексов MyISAM: 144,0M/147,8M
[!!] Частота попаданий в буфер чтения ключа: 86,8% (38 кэшированных /5 операций чтения)
InnoDB Metrics
[-] InnoDB включен.
[-] Параллельность потока InnoDB: 16
[OK] Файл InnoDB для каждой таблицы активирован
[OK] InnoDB буферный пул / размер данных: 56.0G / 8.5G
[!!] Соотношение размера файла журнала InnoDB / размера пула буферов InnoDB (2.67857142857143 %): 768.0M * 2/56.0G должно быть равно 25%
[!!] Экземпляры пула буферов InnoDB: 32
[-] Количество блоков пула буферов InnoDB: 448 для 32 экземпляров пула буферов
[OK] Innodb_buffer_pool_size выровнен с Innodb_buffer_pool_chunk_size & Innodb_buffer_pool_instances
[OK] Эффективность буфера чтения InnoDB: 100,00% (всего 13238376177 просмотров / 13238716229)
[OK] InnoDB Эффективность записи журнала: 99,46% (175848562 просмотров / 176798170 всего)
[OK] Журнал InnoDB ожидает: 0,00% (0 ожиданий / 949608 записей)
General recommendations:
Control warning line(s) into /my/path/to/log/mysql-error.log file
Control error line(s) into /my/path/to/log/mysql-error.log file
Reduce your overall MySQL memory footprint for system stability
Dedicate this server to your database for highest performance.
Adjust your join queries to always utilize indexes
Переменные для настройки:
Максимальное использование памяти MySQL опасно высоко
Добавьте RAM до увеличения буферных переменных MySQL
query_cache_size (= 0)
query_cache_type (= 0)
join_buffer_size (> 16.0M, или всегда использовать индексы с объединениями)
key_buffer_size (> 147,8 млн)
innodb_log_file_size * innodb_log_files_in_group должен быть равен 1/4 размера пула буферов (=28G), если это возможно.
innodb_buffer_pool_instances (= 56)
Конфигурация системы
Ubuntu 16.04.5 LTS
Mysql версия: 5.7.22
Я использую magento 1.9.3.4 с одним веб-сайтом, 3 магазинами и 100 тыс. Товаров, около 1700 категорий.
Помимо приведенных выше рекомендаций Mysql, еще одна вещь, которую я заметил, - когда я загружаю категорию в браузер, mysql потребляет 40-50% загрузки ЦП.
На основании моей оперативной памяти, если кто-то может помочь настроить наиболее подходящую конфигурацию MySQL, чем это было бы так благодарно.
Также имейте в виду, что поскольку у нас более 100 тыс. Продуктов, скорость является главной проблемой, поэтому любое изменение конфигурации mysql не должно приводить к снижению скорости, вместо этого, если это может помочь в увеличении скорости, это будет отличным способом для продвижения вперед.
Спасибо вам.
0 ответов
Предложения для вашего раздела my.cnf [mysqld]
thread_cache_size=64 # from 32 to expand capacity
innodb_lru_scan_depth=100 # from 1024 to conserve 90% of CPU cycles used for function every second
Отказ от ответственности: я являюсь автором содержания веб-сайта, упомянутого в моем профиле, сетевом профиле, где у нас есть загружаемые БЕСПЛАТНЫЕ служебные скрипты для помощи в настройке производительности и контактная информация.