28 Sep Choosing the right hardware for MDaemon Messaging Server
If you’re looking to build a new home for your MDaemon server software, there are a few factors to be considered when deciding on a specification.
I’m often asked by customers for some advice on which areas are best to invest in, so in this post I’ll take a look at the main ones, which I hope will provide a good basis for building the right platform to meet your needs.
Number of users/ sessions
Before you can really get to grips with the specification of your MDaemon server’s hardware, you need have some idea of how much load it is likely to be under. Knowing the number of users is usually quite easy, but how often those users connect and how much data they will move at what times are much more difficult things to pin down.
Unfortunately there is no simple rule that says a site with 100 users will need the same hardware as another site with 100 users. Try to get an idea of the volume of mail data that your users need to keep on the server. Do they send large attachments all day long or just short simple text emails? Do a large number of users all connect at the same time or are they spread out over the day.
Lets start by breaking down the main choices:-
Any modern CPU should be sufficient, however I would recommend you stay clear of the older P4 range if possible. These older CPU’S have an extremely long pipeline – in English, this means that it takes several instruction cycles for data to move from RAM through to the CPU. For large processing jobs that would push the CPU to 100% which isn’t a big deal, but for workloads like MDaemon where you have small bursts of CPU activity, the long pipeline prevents MDaemon from utilising the CPU’s full potential. For this reason I’d recommend a Intel i5 multi core CPU over a single core Xeon.
MDaemon will also benefit from multi-core processors for many of the services including IMAP jobs, WorldClient, spam filtering and content filtering. So for installations where you expect a large number of simultaneous connections, having a modern quad or even 6 core processor will really help share the load.
In most deployments, MDaemon really won’t benefit from having more the 4GB of RAM, however on Windows server 2008 64-bit, the disk caching feature would benefit from more RAM so if you’re on that version it’s a case of the more the merrier. On smaller sites (sub 25 users), 2GB of RAM is usually plenty.
For smaller installations, MDaemon will happily run on a client O/S such as Windows XP, Windows Vista, Windows 7. However for best performance I would recommend you use Windows 2008 R2 x64, The added disk caching support does help significantly over the same hardware running Windows 2003 x86.
By far the biggest bottleneck on a MDaemon server is the disk access. There are a lot of small disk read and writes, so latency matters here more than raw speed.
Having a single disk that has a very high throughput is OK but a multiple disk RAID array with slower drives will outperform this and make a big difference. If the budget allows for SSD disks, these offer even lower latency and if configured in RAID offer the very best solution.
That said, the greatest performance increase can be achieved by splitting the MDaemon installation across multiple disks.
Typically the main MDaemon application would share the same physical disk as the System partition, but the “Users” and “Public” folders (where all the data exists), benefit greatly from having their own allocated disk(s). On larger Installations where you might want to have a comprehensive level of logging going on, a separate disk for this is also recommended. Where possible splitting your users folders across multiple disks will also yield greater benefits than simply installing a faster disk and moving all users folders onto that.
Rule of thumb – it is generally better to save money on the CPU and spend on the disks to get the most out of your MDaemon Server.
Even the highest spec server can still suffer from slowdown over time and there are some simple steps that if done regularly will help keep performance at the optimum.
Defragment drives on a regular basis
MDaemon stores all of its data in standard text files, and user’s data is particularly subject to fragmentation, and even more so when multiple users are accessing their email at the same time.
For this reason I recommend that you set up a daily disk defragmentation to run overnight or during a quiet period. Run this regularly and there really shouldn’t be any time for it to ever get majorly fragmented again, meaning the overnight job shouldn’t take long to run in future.
MDaemon includes some very detailed and useful logs, however straight “out of the box” I think it’s really overkill for the majority of users. Reducing the logging to the bare minimum will save a lot of disk writes on a busy MDaemon box and can help things move along much more smoothly.
Don’t forget, you can always turn the detailed logging back on again if you are trying to thoroughly de-bug an issue.
Restrict mailbox sizes
By far the most common reason that MDaemon servers can appear to slow down is the sheer amount of mail that some users insist on keeping in their mailboxes.
In my experience users often find it difficult (sometimes impossible!) to keep their mailboxes to a reasonable level, with many deciding to keep everything ‘just in case’.
Queue the product plug! 🙂 Yes, we just happen to have the perfect solution for taking this issue out of the hands of users and automating it completely, effectively letting them have their cake and eat it. Our email archiving product Mailstore is the perfect companion for MDaemon and something I recommend to new and existing users alike.
As well as keeping a separate easy to search mail archive, Mailstore can be configured to prune user’s mailboxes of all their old email over a specific age (typically 6 months or a year). This can make a huge difference on an aging MDaemon server that contains many year’s worth of rarely accessed email. Once set up, MailStore will automatically trim all users mailboxes guaranteeing that only the newest email is left on the server while still maintaining all of the email (new and old) in its own archive for users to access as required.
As a general rule of thumb investing the majority of your server budget on the disk storage, will give you the biggest increase in performance for your money but remember to keep on top of your users data. Even the slowest MDaemon server can be greatly improved by archiving everything but the last 6 months worth of email and removing it from the server all together.
- MDaemon Messaging Server – a viable alternative to Microsoft Exchange? (zensoftware.co.uk)