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_sizeconfiguration option, and 1GB for the
innodb_log_file_sizeconfiguration option. Consider adjusting other InnoDB-related configuration values higher also. For information about InnoDB-specific tuning, see Optimizing InnoDB Redo 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 http://dev.mysql.com/doc/refman/5.1/en/replacing-builtin-innodb.html.
maxThreadsin the <Connector> element in
apache-tomcat/conf/server.xmlto 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 Monitor User Interface.
Consider adjusting the maximum size of the connection pool for the repository database instance. This setting is controlled by the parameter
config.propertiesfile, whose location is listed in Section C.1.5, “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.maxActiveto accommodate the Dashboard user interface.
Especially if you make extensive use of the Query Analyzer, consider adjusting the
ehcacheparameters as described in Section 2.11.2, “Known MySQL Enterprise Monitor User Interface 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.