Hello All,
I am trying to tune the zabbix server to do benchmarking and for sizing, in that process, i need to check how much each zabbix server sessions take up I/O ops, RAM, CPU.
Using MySql as an database server, and running on CentOS 6.4.
I was runnig with 2 zabbix proxy servers and 1 master server, now changed to 1 proxy and 1 master ( where majority of the systems connect to master , and location based systems connect to zabbix proxy server)
I had encountered slowness while accessing zabbix UI, and some how those things are getting fixed and i am able to see improvement ( after playing around with templates, mysql configs - mainly commenting sync_binlog=1).
I am sure, other guys would have tried to benchmark zabbix server, please share your inputs too.
Requesting you guys to help/guide/point me to resolve my below doubts/questions,
a). How can i check each zabbix server session is taking amount of RAM/CPU/I-Ops
b). How much each opened web ui takes ram/cpu
c). How does it effect if i keep adding new devices/templates/create new users will affect performance.
d). I did enabled debug logs, but its lot of logs, i am finding difficulties to handle it.
Is there any tool available to calculate ( in addition to tune, i am also looking at the sizing of the server)
I had written below script to log values w.r.to. free ram, cpu, i/o waits, but i am looking something beyond this. Any pointers on improving/understanding things are greatly helpful.
I know its a lot to ask, but any pointers are of great help.
Below are some details about the setup.
System Details:
1). O.S : Cent OS 6.4
2). RAM : 36G
3). CPU: Intel XENON(R) E5606 @2.13Ghz ( 8 cores)
4). HDD: 500GB , (Raid 5)
5). MySql : 5.1.69-log Source distribution
6). Web Server : httpd ( Apache/2.2.15 (Unix) )
Zabbix server details:
1). Zabbix server version : 2.0.6
2). Number of hosts (monitored/not monitored/templates) : 646 : 563/28/55
3). Number of items (monitored/disabled/not supported) : 20141 : 18754/661/726
4). Number of triggers (enabled/disabled)[problem/unknown/ok] : 904 1558/346 : [20/0/1538]
5). Number of Users ( online) : 45 : 40
6). Required server performance, new value per second : 84.41
MySql Configuration details
Zabbix server conf file
I am trying to tune the zabbix server to do benchmarking and for sizing, in that process, i need to check how much each zabbix server sessions take up I/O ops, RAM, CPU.
Using MySql as an database server, and running on CentOS 6.4.
I was runnig with 2 zabbix proxy servers and 1 master server, now changed to 1 proxy and 1 master ( where majority of the systems connect to master , and location based systems connect to zabbix proxy server)
I had encountered slowness while accessing zabbix UI, and some how those things are getting fixed and i am able to see improvement ( after playing around with templates, mysql configs - mainly commenting sync_binlog=1).
I am sure, other guys would have tried to benchmark zabbix server, please share your inputs too.
Requesting you guys to help/guide/point me to resolve my below doubts/questions,
a). How can i check each zabbix server session is taking amount of RAM/CPU/I-Ops
b). How much each opened web ui takes ram/cpu
c). How does it effect if i keep adding new devices/templates/create new users will affect performance.
d). I did enabled debug logs, but its lot of logs, i am finding difficulties to handle it.
Is there any tool available to calculate ( in addition to tune, i am also looking at the sizing of the server)
I had written below script to log values w.r.to. free ram, cpu, i/o waits, but i am looking something beyond this. Any pointers on improving/understanding things are greatly helpful.
Code:
#Scale for floating point precision
sc=4
# Sleep duration between results
st=10
while :;
do
#dt=$( date +%c );
#upt=$(uptime);
res=$(iostat -xkd /dev/sda)
ws=$(echo $res | cut -d" " -f24)
rs=$(echo $res | cut -d" " -f23)
wt=$(echo $res | cut -d" " -f29)
mrs=$(echo "scale=$sc; $rs / ( $rs + $ws ) * 100" | bc)
mws=$(echo "scale=$sc; $ws / ( $rs + $ws ) * 100" | bc)
echo "READ/WRITE/WAIT ->$mrs | $mws | $wt"
freeRAM=$(free | grep Mem | awk '{ printf("%.4f \n", $4/$2 * 100.0) }')
cpuLOAD=$(uptime | awk '{print $10}' | cut -d',' -f1)
echo "FREE RAM: $freeRAM"
echo "CPULoad : $cpuLOAD"
echo;echo;echo;
sleep $st;
done
Below are some details about the setup.
System Details:
1). O.S : Cent OS 6.4
2). RAM : 36G
3). CPU: Intel XENON(R) E5606 @2.13Ghz ( 8 cores)
4). HDD: 500GB , (Raid 5)
5). MySql : 5.1.69-log Source distribution
6). Web Server : httpd ( Apache/2.2.15 (Unix) )
Zabbix server details:
1). Zabbix server version : 2.0.6
2). Number of hosts (monitored/not monitored/templates) : 646 : 563/28/55
3). Number of items (monitored/disabled/not supported) : 20141 : 18754/661/726
4). Number of triggers (enabled/disabled)[problem/unknown/ok] : 904 1558/346 : [20/0/1538]
5). Number of Users ( online) : 45 : 40
6). Required server performance, new value per second : 84.41
MySql Configuration details
Code:
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql symbolic-links=0 #Slow query log details slow_query_log_file=/var/log/mysql/slow-query.log long_query_time = 30 log-queries-not-using-indexes=YES innodb_lock_wait_timeout=500 innodb_locks_unsafe_for_binlog=1 expire_logs_days=5 max_binlog_size=100M innodb_buffer_pool_size=20G innodb_file_per_table max_allowed_packet = 8M innodb_additional_mem_pool_size = 30M innodb_thread_concurrency = 8 key_buffer_size = 60M max_connections=290 table_cache=4096 query_cache_size = 96M tmp_table_size = 32M thread_cache_size = 64 sort_buffer_size = 12M query_cache_limit=64M thread_cache_size=512 read_buffer_size=2M read_rnd_buffer_size=8M join_buffer_size=8M #sync_binlog=1
Code:
LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=50 DebugLevel=4 PidFile=/var/run/zabbix/zabbix_server.pid DBName=zabbix DBUser=zabbix DBPassword=zabbix StartPollers=45 StartPollersUnreachable=7 StartTrappers=45 StartPingers=45 StartDiscoverers=3 StartSNMPTrapper=1 ListenIP=0.0.0.0 HousekeepingFrequency=1 MaxHousekeeperDelete=500 SenderFrequency=300 CacheSize=1G CacheUpdateFrequency=300 StartDBSyncers=4 HistoryCacheSize=128M TrendCacheSize=1G HistoryTextCacheSize=128M Timeout=30 TrapperTimeout=120 UnreachablePeriod=600 UnavailableDelay=120 AlertScriptsPath=/etc/zabbix/alert.d/ FpingLocation=/usr/local/sbin/fping LogSlowQueries=1




Comment