PDA

View Full Version : Maps & Screens with many hosts slow.


maxlock
08-04-2008, 15:38
Hi Folks,

Thought I'd bring this up for discussion. We've got 1000 monitored hosts in our deployment and all hosts are setup in various maps and screens.

A big problem with this is the speed that zabbix takes to check the permissions of objects not only on maps being viewed but also any linked maps. In our case pretty much all 1000 hosts permissions are checked!

Our workaround for this is to disable permission checks for anyone other than guest by doing the following in include/maps.inc.php:

function sysmap_accessiable($sysmapid,$perm)
{
global $USER_DETAILS;

//bypass permissions checks
if($USER_DETAILS['userid'] != 2) {
return true;
}

and the same in include/screens.inc.php

function screen_accessiable($screenid,$perm)
{
global $USER_DETAILS;
//echo "<pre>".print_r($USER_DETAILS,true)."</pre>";

//bypass permissions checks
if($USER_DETAILS['userid'] != 2) {
return true;
}

Now this runs a _lot_ faster, but it's not ideal. is there a better way of doing this when rendering the maps/screens so that only those being directly shown are checked?

-Cheers Max.

Alexei
09-04-2008, 08:29
I think this has been resolved in 1.4.5.

maxlock
14-04-2008, 13:15
Hi Alexi.

We're running 1.4.5 currently, so I guess it's at least being/been looked at :)

-Cheers Max.

teferi
13-08-2008, 14:13
I think this has been resolved in 1.4.5.

Sorry for bringing up this thread from the dead. But I had exactly the same problem and it resolved it exactly the same way.
using 1.5.3 beta

exkg
15-08-2008, 14:18
And what is your scenario ? We have the same problem and (try) the same workaround .... but with Oracle in backend, after change to MySQL things are working fine until now.

Our scenario is:

- Zabbix 1.5.3-5868
- Oracle 10G (now is MySQL)
- ~1300 hosts
- ~9000 itens
- ~3500 triggers
- ~160 screens
- ~120 maps
- ~300 groups
- ~250 insert/second
- 8 CPUs
- 32 GB of memory
- single scsi discs



[]s,
Luciano

teferi
18-08-2008, 10:21
Sorry for not responding so long.
I have about 1000 hosts with a total of about 40000 items and 1000 screens(1 for each host), MySQL-Innodb. Obviously function that determines user-permitions scans half the DB in my case. =(