Currently Browsing: performance

MySQL database is the most used for Zabbix

In March 2011, I create a poll in Zabbix Forum with this question: It received 92 votes and MySQL was the most voted with 71.74% followed by PostgreSQL with 21.74% Personally I found many problems with Oracle 11g when reach more than 1000 nvps (new values per second). My results with MySQL was very good reaching more than 3500 nvps. Unfortunately I still could not test PostgreSQL, but there are many positive posts in Forum. And you, which database are you...
read more

MySQL performance tips for Zabbix

Most of these tips is useful for many application, but I’ll keep focus on Zabbix. Use a Dedicated Server Database is the main bottleneck from Zabbix. Try to use a Dedicated Server for MySQL and make sure that server has great resources (CPU, memory and fast disks). This is the specs for an environment with 3000 values per second: Dell PowerEdge R610 CPU: Intel Xeon L5520 2.27GHz (16 cores) Memory: 24GB RAM Disks: 6x SAS 10k with RAID10 by hardware Create one file per...
read more

Partitioning Tables on Zabbix 1.8

Many performance problems on Zabbix are related to the database and it became visible only when we have thousands of items. On another side, we have to handle enormous tables and it makes impossible operational routines like housekeeping and backup. Use all information and scripts at your own risk. Make backups! My suggestion is disable housekeeping and to partition some tables based on clock, an unix timestamp field. If you wanna know more about partitioning access the MySQL Reference Manual – Partitioning Overview.   The Concept An easy way to handle partitioning is splitting the tables...
read more

History Tables – Housekeeper

First, I recommend to you read about the differences between the history and trends table. Each item on Zabbix can have your own housekeeper value. But this feature turns housekeeping process a performance killer, because delete_history() function executes a DELETE per item every turn. If you have 100k items, 100k DELETE queries will be executed. This can be a big problem using InnoDB engine on MySQL, because DELETE is extremelly slow on large tables and deleted rows doesn’t release space on disk. My proposed and tested solution is disable housekeeping and partitioning some tables. To know more...
read more