Given that the current implementation is innodb for now, one possibility to
consider, at least on some platforms is to use large pages for better OS
performance. (If anybody tries this, would love to hear your results.).
Wouldn't large pages solve some of the efficiency issues for documents using
lots of attachments?
http://lists.xwiki.org/pipermail/devs/2009-August/013849.html
Has anybody tried enabling "large page
support" in Mysql for Xwiki?
Doesn't Xwiki make use of Large pages for document
attachments and other
storage, and wouldn't this be useful for high-volume Xwiki based systems?
(Fedora Linux has this feature enabled by default.)
The improvement? "Applications that perform a lot
of memory accesses may
obtain performance improvements by using large pages due to reduced
Translation Lookaside Buffer (TLB) misses."
Is this worth doing? Would it improve performance (or
are bottlenecks
elsewhere that make this tweak irrelevant)?
............
-->
http://dev.mysql.com/doc/refman/5.0/en/large-page-support.html
7.5.9. Enabling Large Page Support
Some hardware/operating system architectures support
memory pages greater
than the default (usually 4KB). The actual implementation of this support
depends on the underlying hardware and operating system. Applications that
perform a lot of memory accesses may obtain performance improvements by
using large pages due to reduced Translation Lookaside Buffer (TLB) misses.
In MySQL, large pages can be used by InnoDB, to
allocate memory for its
buffer pool and additional memory pool.
Currently, MySQL supports only the Linux
implementation of large page
support (which is called HugeTLB in Linux).
Before large pages can be used on Linux, the kernel
must be enabled to
support them and it is necessary to configure the HugeTLB memory pool. For
reference, the HugeTBL API is documented in
the Documentation/vm/hugetlbpage.txt file of your Linux sources.
The kernel for some recent systems such as Red Hat
Enterprise Linux appear
to have the large pages feature enabled by default. To check whether this is
true for your kernel, use the following command and look for output lines
containing “huge”:
Since it's available in RHEL, it's also available in
fedora12<http://fedoraproject.org/> mysql ,
but not used by Xwikis running on this mysql currently:
ROOT-31-~> cat /proc/meminfo | grep -i huge
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
-- Niels
http://nielsmayer.com