Zimbra offers Open Source email server software and shared calendar for Linux and the Mac
Go Back   Zimbra :: Forums > Zimbra Collaboration Suite > Installation

Welcome to the Zimbra :: Forums!
Welcome, if you would like to post a comment please register. We also encourage you to explore all things Zimbra with our team and members of the community.

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 04-07-2009, 03:03 AM
Member
 
Posts: 13
Default VmWare server 2 + Zimbra = slow

Hi,

In my company we were working with Exchange + Outlook for our mail needs, but the server was rather old and so after a couple of try I bought a new machine to install Zimbra.

I have installed Zimbra community edition 5.0.10 on a Acer Altos G540 with
double Xeon processor and 4GB ram.

Zimbra is installed as VM on Vmware Server 2, serving 20 user.

Host OS is Ubuntu 8.04 Server, the same for Zimbra VM.

Vm tools are installed.

We don't use Web mail, but Thunderbird 2, with IMAP connection.

Sometimes it works well, but suddenly it slow down, and users reports 30 seconds - 1 minute wait time opening mail or Thunderbird folders.

Virtual machine has 1 CPU and 2 GB allocated.

On host, I've just modified /proc/sys/vm as follows:

swappiness=0
overcommit_memory=0
dirty_background_ratio=2
dirty_ratio=100

and /etc/vmware/config as various forums suggestion:

MemTrimRate="0" (ocio alle virgolette)
sched.mem.pshare.enable="FALSE"
MemAllowAutoScaleDown = "FALSE"
mainMem.useNamedFile="FALSE"
prefvmx.minVmMemPct="100"

As last I have also modified Zimbra VM /boot/grub/menu.lst with the following (#kopt line):

noapic nolapic apci=off clocksource=acpi_pm elevator=noop

After all these modifications I'm still experiencing this frustrating slowdown...

I would like a lot to improve performance, any suggestion?

Any idea will be appreciated......

(people start to request me MS exchange again )

Thanks in advance for your answers.


Stefano
Reply With Quote
  #2 (permalink)  
Old 04-07-2009, 03:08 AM
Moderator
 
Posts: 7,928
Default

When it slows down can you capture some information from the VM like top, cat /proc/meminfo, vmstat, free ?
__________________
Reply With Quote
  #3 (permalink)  
Old 04-07-2009, 03:17 AM
Zimbra Consultant & Moderator
 
Posts: 20,316
Default

Quote:
Originally Posted by trantor View Post
Zimbra is installed as VM on Vmware Server 2, serving 20 user.
That isn't a supported platform for Zimbra, if you're going to use a VM you should use something like ESX or ESXi. You also don't say what other Virtual Machines you have running on this system and what resources they are allocated.
__________________
Regards


Bill
Reply With Quote
  #4 (permalink)  
Old 04-07-2009, 03:21 AM
Member
 
Posts: 13
Default

Quote:
Originally Posted by phoenix View Post
That isn't a supported platform for Zimbra, if you're going to use a VM you should use something like ESX or ESXi. You also don't say what other Virtual Machines you have running on this system and what resources they are allocated.
There is only another VM running Ebox with 1 CPU and 512 MB allocated
Reply With Quote
  #5 (permalink)  
Old 04-07-2009, 04:03 AM
Member
 
Posts: 13
Default

Quote:
Originally Posted by uxbod View Post
When it slows down can you capture some information from the VM like top, cat /proc/meminfo, vmstat, free ?
In this moment TOP on zimbra VM reports:

Tasks: 96 total, 1 running, 95 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 14%sy, 0.0%ni, 84%id, 2% wa
Mem: 2075604k total, 1660456k used, 415148 free, 154700k buffers
Swap: 3028212k total, 0k used, 3028212k free, 466712 cached

vmstat:

procs ---------memory------------- --swap - --io------
r b swpd free buff cache si so bi bo
2 0 0 392352 155568 468004 0 0 7 53

-system---- ---cpu-------
in cs us sy id wa
11 531 8 14 68 9
Reply With Quote
  #6 (permalink)  
Old 04-07-2009, 02:48 PM
Active Member
 
Posts: 39
Default

VMware Server 2.0 has horrible performance compared to ESXi. Both are free but ESXi takes out the operating system layer and is meant for production systems. Its VMFS file system is optimized for the storage of VMs as well.

I used to use VMware Server, but switch over to ESXi once it became free. Copy your VM files from VMware Server to another machine. Reinstall your server with ESXi and use the free VMware Converter to migrate them to ESXi.

Also what does your disk configuration look like? I would recommend RAID 10 if you are running VMs. The RAID 5 overhead will quickly become a bottleneck.

Last edited by rsw686; 04-07-2009 at 02:51 PM..
Reply With Quote
  #7 (permalink)  
Old 04-07-2009, 08:13 PM
Moderator
 
Posts: 1,209
Default

I too agree on using ESXi over VMware Server.

I would also change the "elevator=" parameter from "noop" to "cfq". Noop's simple "first-in, first-out" scheduling algorithm won't help with performance like cfq (completely fair queuing) will.

Early on we tested Zimbra with both cfq and deadline schedulers, but we didn't see any overall performance improvements with deadline, and since you can't break out Zimbra's MySQL to a separate server where deadline might be beneficial, we stuck with cfq.

To be fair, all of our testing was on SUSE Linux Enterprise Server 10, and I don't know if SLES's cfq tunable parameters are set by Novell with different values than Ubuntu's.

If you have a specific reason why you think noop would give you better performance than cfq, I'd be very interested to understand that.

Hope that helps,
Mark
__________________
___________________________________
L. Mark Stone, CIO


"Uptime. All the time."

477 Congress Street | Portland, ME 04101-3431 | (207) 772-5678

proactive maintenance and monitoring | technology consulting
Zimbra groupware | EMR implementations | private cloud hosting
Reply With Quote
  #8 (permalink)  
Old 04-07-2009, 08:20 PM
Active Member
 
Posts: 39
Default

Quote:
Originally Posted by LMStone View Post
I would also change the "elevator=" parameter from "noop" to "cfq". Noop's simple "first-in, first-out" scheduling algorithm won't help with performance like cfq (completely fair queuing) will.
The idea behind using noop in the VM is that the underlying operating system knows better on how to schedule the IO. I used to use this setting on VMware Server. However with ESXi I don't know if there is a need to change the default scheduler.
Reply With Quote
  #9 (permalink)  
Old 04-08-2009, 09:11 AM
Moderator
 
Posts: 1,209
Default

Quote:
Originally Posted by rsw686 View Post
The idea behind using noop in the VM is that the underlying operating system knows better on how to schedule the IO. I used to use this setting on VMware Server. However with ESXi I don't know if there is a need to change the default scheduler.
OK, I understand why you are thinking noop is OK.

The vm still has to time slice itself between MySQL, Java, Postfix, the Zimbra Store, and whatever else you've got running there. Running noop on the guest vm will I believe create a performance degradation.

When running VMware Server (we use it for prototyping deployments), on the host metal we have never changed the kernel scheduler from cfq.

Not sure that helps or not, but if you have some test results that demonstrates that noop gets you a performance benefit, that would be cool to see!

All the best,
Mark
__________________
___________________________________
L. Mark Stone, CIO


"Uptime. All the time."

477 Congress Street | Portland, ME 04101-3431 | (207) 772-5678

proactive maintenance and monitoring | technology consulting
Zimbra groupware | EMR implementations | private cloud hosting
Reply With Quote
  #10 (permalink)  
Old 04-10-2009, 01:53 AM
Member
 
Posts: 13
Default

Quote:
Originally Posted by LMStone View Post
OK, I understand why you are thinking noop is OK.

The vm still has to time slice itself between MySQL, Java, Postfix, the Zimbra Store, and whatever else you've got running there. Running noop on the guest vm will I believe create a performance degradation.

When running VMware Server (we use it for prototyping deployments), on the host metal we have never changed the kernel scheduler from cfq.

Not sure that helps or not, but if you have some test results that demonstrates that noop gets you a performance benefit, that would be cool to see!

All the best,
Mark
I don't have any test result to show you, but in my case noop gives a decent improvement.

After further investigation about my problem, I found that during Zimbra slowdown, Virtual CPU wait state was between 50 and 75% (!)

Actually I'm testing my VmWare Server 2 after following modifications:

in /etc/vmware/config:

tmpDirectory="/dev/shm"
prefvmx.useRecommendedLockedMemSize="TRUE"

In vmx file:

mem.ShareScanTotal=0
mem.ShareScanVM=0
mem.ShareScanThreshold=4096 (I have 4GB RAM on server)
sched.mem.maxmemctl=0
sched.mem.pshare.enable = "FALSE"

on host in /etc/default/tmpfs:

SHM_SIZE=4G

on host in /etc/sysctl.conf

vm.swappiness = 0
vm.overcommit_memory = 1
vm.dirty_background_ratio = 5
vm.dirty_ratio = 10
vm.dirty_expire_centisecs = 1000
dev.rtc.max-user-freq = 1024

Well, altough it is too early to say something (server is running since only 12 hours), I must say that Zimbra seems more responsive after latest modifications.

I will post again next week a more definitive feedback (positive I hope! )

Hi all

Stefano
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Similar Threads

Why Join?

Registering let's you ask questions, makes it easier to search, displays any files attached to posts, and notifies you about replies.

blog.zimbra.com




 

SEO by vBSEO ©2011, Crawlability, Inc.