Глава 9. Настройка производительности MySQL Enterprise Monitor
Есть два главных компонента Service Manager, которые требуют настройки,
сервер MySQL, который используется для хранилища, и сервер приложений
Apache Tomcat, который служит Web UI и выполняет сбор и анализ данных.
9.1. Настройка памяти
Эта секция описывает, как приспособить ресурсы, доступные вашему
MySQL Enterprise Service Manager.
Настройка Tomcat
Если вы испытываете проблемы с производительностью
MySQL Enterprise Service Manager, увеличение RAM, доступной JVM,
установленной с Tomcat, может решить эти вопросы. Настройки памяти JVM
определяются строкой JAVA_OPTS в файле
setenv , который устанавливает переменные
окружения для Tomcat.
Таблица 9.1. Расположение файла окружающей среды Apache
Tomcat (по умолчанию)
OS |
Путь |
Microsoft Windows |
C:\Program
Files\MySQL\Enterprise\Monitor\apache-tomcat\bin\setenv.bat
|
Linux / Unix |
/opt/mysql/enterprise/monitor/apache-tomcat/bin/setenv.sh
|
Mac OS X |
/Applications/mysql/enterprise/monitor/apache-tomcat/bin/setenv.sh
|
Следующие переменные setenv
определяются типом установки:
Таблица 9.2. Параметры установки
Параметр |
Small | Medium |
Large |
Tomcat Heap Size |
512MB | 768MB | 2048MB |
Tomcat MaxPermSize |
200MB | 512MB | 1024MB
|
--JvmMs (Windows)/
-Xms (все другие платформы):
устанавливает минимальный размер Tomcat JVM heap.
--JvmMx (Windows)/
-Xmx (все другие платформы): устанавливает максимальный размер
Tomcat JVM heap.
Минимальный и максимальный размер устанавливается в то же самое значение,
чтобы иметь доступ ко всей памяти для Tomcat JVM после запуска.
MaxPermSize :
определяет максимальный размер пула, содержащего данные,
используемые Tomcat JVM.
MaxPermSize не поддерживается Java 8.
Этот параметр не присутствует в новых установках
MySQL Enterprise Service Manager,
но не удален процессом модернизации. В результате сообщение регистрации
произведено, объяснив устаревание параметра.
Это может быть приспособлено в зависимости от размера вашей установки и
свободной памяти на хосте, на которого устанавливается MySQL Enterprise
Service Manager. Например, если вы установили
MySQL Enterprise Service Manager на хорошем сервере с 64-битной операционной
системой, 64 ГБ RAM и контролируете больше 100 агентов, увеличение размера с
5 до 6GB может быть необходимым. Это зависит от нагрузки сервера MySQL и
объема данных, собранного агентами.
Если вы изменяете эти настройки, необходимо перезапустить
MySQL Enterprise Service Manager.
Ниже приводятся примеры среднего размера, настроек по умолчанию, как
определено средним вариантом установки:
UNIX, Linux и Mac OS X
JAVA_OPTS="-Xmx768M -Xms768M -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/opt/mysql/enterprise/monitor/apache-tomcat/temp
-XX:+UseParallelOldGC -XX:MaxPermSize=512M"
Microsoft Windows
set JAVA_OPTS=--JvmMs 768 --JvmMx 768 ++JvmOptions="-XX:+UseParallelOldGC"
++JvmOptions="-XX:+HeapDumpOnOutOfMemoryError"
++JvmOptions="-XX:HeapDumpPath=@@BITROCK_TOMCAT_ROOTDIR@@\temp"
++JvmOptions="-XX:MaxPermSize=512M"
Если MySQL Enterprise Service Manager
недостаточно снабжен, контролирующие агенты также затронуты. Если агенты не
способны общаться с MySQL Enterprise Service Manager,
их работа также ухудшается.
Настройка памяти InnoDB
Хранилище MySQL Enterprise Monitor использует механизм
хранения InnoDB. Процесс установки устанавливает значение по умолчанию для
InnoDB на основе инсталляционного размера. Настройка пула буферов InnoDB
может оказать значительное влияние на работу для взаимодействия с сетью UI и
для полных требований к ресурсам на хосте.
Конфигурационный файл для хранилища может быть
найден в следующих местах:
Таблица 9.3. Расположение конфигурационного файла хранилища
MySQL Enterprise Service Manager (по умолчанию)
OS |
Путь |
Microsoft Windows |
C:\Program
Files\MySQL\Enterprise\Monitor\mysql\my.ini
|
Linux / Unix |
home/mysql/enterprise/monitor/mysql/my.cnf
|
Mac OS X |
/Applications/mysql/enterprise/monitor/mysql/my.cnf
|
Возможно увеличить значение
innodb_buffer_pool_size до
80% физической памяти, доступной на хост-машине.
Не рекомендуется поднимать его выше.
9.2. Настройка CPU
Если Apache Tomcat и хранилище MySQL устанавливаются на том же самом
хосте, наилучший вариант в крупномасштабной окружающей среде состоит в том,
чтобы переместить экземпляр MySQL к своему собственному хосту.
Это позволяет контролировать сотни хостов MySQL.
Чтобы сделать это, вы должны:
Остановите серверы Apache Tomcat и MySQL.
Скопируйте содержание datadir
на новый хост (если перемещаете в новый экземпляр MySQL) или выполните
mysqldump и импортируйте дамп
в новый сервер MySQL.
Измените конфигурацию Tomcat, чтобы использовать новый MySQL
на новом хосте.
Обновите конфигурацию с инструментом конфигурирования.
Этот инструмент может быть найден в следующих местах:
Таблица 9.4. Местоположение средства конфигурирования
OS |
Путь |
Microsoft Windows |
C:\Program
Files\MySQL\Enterprise\Monitor\bin\config.bat
|
Linux / Unix |
/opt/mysql/enterprise/monitor/bin/config.sh
|
Mac OS X |
/Applications/mysql/enterprise/monitor/bin/config.sh
|
Для получения дополнительной информации о средствах конфигурирования см.
главу 10.
9.3. Настройка потоков Apache Tomcat
Работая с большим количеством развернутых процессов агента, количество
потоков по умолчанию, которые создаются в Apache Tomcat, может быть
недостаточным. По умолчанию это формируется, чтобы создать 150 потоков,
чтобы общаться с портом HTTPS.
Это формируется с помощью опции
maxThreads в файле
server.xml :
Таблица 9.5. Расположение файла настройки Apache Tomcat
OS |
Путь |
Microsoft Windows |
C:\Program
Files\MySQL\Enterprise\Monitor\apache-tomcat\conf\server.xml
|
Linux / Unix |
/opt/mysql/enterprise/monitor/apache-tomcat/conf/server.xml
|
Mac OS X |
/Applications/mysql/enterprise/monitor/apache-tomcat/conf/server.xml
|
Отредактируйте эту секцию:
<Connector port="18443"
protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
...
Хорошее основание, чтобы проверить число агентов, что у вас есть
регистрация Service Manager плюс 50. Например, если вы имеете 150 агентов,
задайте maxThreads =200.
9.4. Настройка требований к памяти агента
Следующее это рекомендуемые параметры настройки для агента
MySQL Enterprise Monitor:
Единственный агент с настройками по умолчанию и всеми позволенными
советниками, должен контролировать не больше 10 серверов MySQL.
Если агент контролирует больше 10 серверов MySQL,
размер кучи агента должен быть увеличен на 64 МБ для каждых 10
дополнительных серверов MySQL.
Размер кучи агента определяется в параметре
MEM_AGENT_JAVA_OPTS в файле
setenv.sh/bat
. По умолчанию 128MB.
Параметр data-reporting-threads
должен быть увеличен на 2 для каждых 15-20 проверенных серверов MySQL.
Параметр data-reporting-threads определяется
в файле bootstrap.properties агента.
|