By using MySQL database technology to store and process monitoring data, MySQL Enterprise Monitor has enough capacity to monitor large MySQL installations featuring many busy database servers. A MySQL Enterprise Monitor system can scale along with your monitoring requirements, using many of the same scale-out and scale-up techniques you use for your MySQL-powered web sites and applications.
When your MySQL Enterprise Monitor configuration becomes “large”, typically roughly 200 or more Agent instances, use the following guidelines to help plan the capacity of the machines you use to run MySQL Enterprise Monitor, and to tune MySQL Enterprise Monitor, its repository database, and other underlying components.
Consider which rules to apply to which servers rather than enabling all rules or applying them to all servers. Certain issues are more likely to occur for particular MySQL servers based on their configuration and workload.
Devote a machine with 16GB or more of memory, 12GB or more for
the innodb_buffer_pool_size
configuration option, and 1GB for the
innodb_log_file_size
configuration option. Consider adjusting other InnoDB-related
configuration values higher also. For information about
InnoDB-specific tuning, see
Optimizing InnoDB Logging,
Optimizing InnoDB Disk I/O, and
Optimizing InnoDB Configuration Variables.
For a high-capacity MySQL Enterprise Monitor server, a fast RAID (0+1, 10) array with a number of spindles and fast disks (possibly SSDs) is ideal.
When using MySQL 5.1 for the repository database (as is the case with the MySQL server bundled with MySQL Enterprise Monitor), enable the InnoDB Plugin for faster all-around InnoDB performance, if you are not using the InnoDB Plugin already. For setup instructions, see Installing the InnoDB Plugin.
Set maxThreads in the <Connector>
element in apache-tomcat/conf/server.xml
to at least the number of expected Agent instances, plus some
extra slots for connections used by the Dashboard user
interface. Adjust the <Connector> elements for plain
HTTP, HTTPS/SSL, or both depending on the protocols you use
with MySQL Enterprise Dashboard.
Consider adjusting the maximum size of the connection pool for
the repository database instance. This setting is controlled
by the parameter dbpool.default.maxActive
in the config.properties file, whose
location is listed in
Section C.1.5, “The config.properties file”. The
dbpool.ui.maxActiveo parameter controls the
connection pool for the Dashboard user interface; by default,
the Service Manager uses 15% of the connections specified by
dbpool.default.maxActive to accommodate the
Dashboard user interface.
Especially if you make extensive use of the
Query Analyzer,
consider adjusting the ehcache parameters
as described in Section 2.11.2, “Known MySQL Enterprise Dashboard Problems and Workarounds”.
Consider increasing the maximum heap size of the JVM for the Service Manager. For example, 300 or more Agents might require 2-4GB of heap, along with sufficient CPU capacity to perform garbage collection on such a large heap.
Expect to install the Service Manager and the repository database instance on separate machines.
