[horde] Apache Performance tuning with Horde
Arjen de Korte
arjen+horde at de-korte.org
Thu Dec 4 11:49:35 UTC 2014
Citeren Patrick De Zordo <patrick at spamreducer.eu>:
> Dear guys,
>
> I am wondering since I have installed Horde if there are some proofed apache
> performance tuning guidelines.
>
>
>
> Short test system description:
>
> - 1 CPU, 2GB RAM, SSD HDD
That is not a whole lot of RAM. You'll probably benefit much more from
using more RAM than an SSD (which is at least an order of magnitude
slower than RAM/tmpfs). Given enough RAM in your system, even caching
to harddisk may be fairly responsive.
> - Ubuntu 14.04.1 LTS
>
>
>
> Every time an ActiveSync client connects to the Horde server it keeps an
> apache process up to nearly 100% CPU consumption for about 10 seconds and
> makes some disk readings in the meantime. I think it is because Horde have
> to look through all the IMAP structure for changed since last sync. Is my
> assumption true?
If you're using something like Courier-IMAP (or another non-caching
server), yes. If you're using something like Dovecot, this should take
next to no time at all, as long as you use the Dovecot LDA for local
delivery (which will keep the index files up to date).
> Now, suppose there are 10 users opening their Outlook ActiveSync client at
> the same time.. the server will not be able to process other requests
> anymore; it will just get stuck till all the 10 clients have done the IMAP
> parsing.
That's why you want an IMAP server that uses caching (like Cyrus or Dovecot).
> We have enabled the apache2 PHP 5.5.9 internal OpCache + local Memcached.
On a single machine, filebased caching using a tmpfs volume will be
faster than Memcached. Unless you're using multiple servers in
parallel, I'd recommend against using Memcached.
> Is there a possibility to speed up things? Any caching on IMAP-side?
If you don't already have that, this will probably yield the most.
> Is this behavior just because we are using a single processor environment?
Only if you're not limited by I/O, which you really should be checking
by profiling what is happening. Xdebug and cachegrind (I use
KCacheGrind) are your friends here. You wouldn't be the first to find
that your PHP processes are spending a lot of time in usleep(). See
http://www.xdebug.org/docs/profiler for more info.
--
This message was sent from a mailinglist subscription address.
For off-list replies, you must remove the address extension.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5849 bytes
Desc: S/MIME Signature
URL: <http://lists.horde.org/archives/horde/attachments/20141204/70b49eb9/attachment.bin>
More information about the horde
mailing list