BTW a few more interesting links and excepts on this subject. Seems like if
one can devote a certain amount of RAM to Mysql, this could potentially be a
performace win for a larger Xwiki install:
http://www.basysadmin.com/procedures.html
Configure mysql (InnoDB) to use hugepages. Hugepages
are not swappable.
[
Ref]<http://dev.mysql.com/doc/refman/5.1-maria/en/large-page-support.htm…
[Ref]<http://www.cyberciti.biz/tips/linux-hugetlbfs-and-mysql-performance.html>
http://www.cyberciti.biz/files/linux-kernel/Documentation/vm/hugetlbpage.txt
http://docs.sun.com/source/mysql-refman-5.0/optimization.html
http://www.cyberciti.biz/tips/linux-hugetlbfs-and-mysql-performance.html
A
pplications that perform a lot of memory accesses (several GBs) may obtain
performance improvements by using large pages due to reduced Translation
Lookaside Buffer (TLB) misses. HugeTLBfs is memory management feature
offered in Linux kernel, which is valuable for applications that use a large
virtual address space. It is especially useful for database applications
such as MySQL, Oracle and others. Other server software that uses the
prefork or similar (e.g. Apache web server) model will also benefit.
The CPU's Translation Lookaside Buffer (TLB) is a small cache used for
storing virtual-to-physical mapping information. By using the TLB, a
translation can be performed without referencing the in-memory page table
entry that maps the virtual address. However, to keep translations as fast
as possible, the TLB is usually small. It is not uncommon for large memory
applications to exceed the mapping capacity of the TLB. Users can use the
huge page support in Linux kernel by either using the mmap system call or
standard SYSv shared memory system calls (shmget, shmat).
Only selected hardware and operating system support memory pages greater
than the default 4KB. The following configuration tested on RHEL 5.3 64 bit
using a stock kernel with tons of RAM and multiple CPUs.
-- Niels
http://nielsmayer.com