coyote wrote:
> The Senior Linux admin gave me a new Zenoss server with 16 CPUs, 36G of ram
> and lots of disk space.
> I have Zenoss 2.4.2 installed and am trying to monitor 1800 devices.
> Zenoss uses less that 12Gigs of ram and load is always less than 2. I have
> configured Zenhub with 8 workers.
There are a couple of possibilities to tune Zenoss performance, but you have to
be a bit careful with them.
Mount /tmp as tmpfs in /etc/fstab
Code:
tmpfs /tmp tmpfs rw 0 0
Pro: Speeds up renderserver
Cons: /tmp is used by zenbackup too. So either make /tmp large enough, or
change the temp-dir setting of zenbackup, otherwise you backups will start
failing.
Modify you VM settings in /etc/sysctl.conf
Code:
vm.vfs_cache_pressure = 0
vm.swappiness = 20
vm.overcommit_memory = 2
vm.overcommit_ratio=75
vm.dirty_background_ratio = 1
vm.dirty_ratio = 100
vm.dirty_expire_centisecs = 3000
vm.dirty_writeback_centisecs = 500
Modify your I/O scheduling in /etc/rc.local
Code:
echo 0 > /sys/block/cciss!c0d0/queue/iosched/front_merges
echo 150 > /sys/block/cciss!c0d0/queue/iosched/read_expire
echo 1500 > /sys/block/cciss!c0d0/queue/iosched/write_expire
Pro & Cons: Tuning VM and I/O settings is close to voodoo and very much depends
on your hardware. So be prepared for a lot of try & fail till your performance
will get any better.
Increase your cache and pool size in zope.conf
Code:
<zodb_db temporary>
# Temporary storage database (for sessions)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
cache-size 500000
pool-size 16
</zodb_db>
<zodb_db main>
mount-point /
# ZODB cache, in number of objects
cache-size 500000
pool-size 16
<zeoclient>
server localhost:8100
storage 1
name zeostorage
var $INSTANCE/var
# ZEO client cache, in bytes
cache-size 10000MB
# Uncomment to have a persistent disk cache
#client zeo1
</zeoclient>
</zodb_db>
Pro: Will improve Zenoss speed.
Cons: You have to be really careful if you want to do anything via zendmd.
The likelihood of caching conflicts increase with your zenhub worker and Zope
pool-size. So if you have any zendmd script that does something like this:
Code:
# Reseting IPs for all Devices
for d in dmd.Devices.getSubDevices():
d.setManageIp()
# Commiting changes for all devices
commit()
Rewrite it to:
Code:
# Reseting IPs for all Devices
for d in dmd.Devices.getSubDevices():
# Reset IP and commit change
d.setManageIp()
commit()
Otherwise you will end up with your changes randomly ending up in an commit
failed error.
-------------------- m2f --------------------
Read this topic online here:
http://forums.zenoss.com/viewtopic.php?p=37404#37404
-------------------- m2f --------------------
_______________________________________________
zenoss-users mailing list
[email protected]
http://lists.zenoss.org/mailman/listinfo/zenoss-users