\documentclass{article}
\usepackage{ulem}
\usepackage{graphicx}
\usepackage{hyperref}
\pagestyle{headings}
\begin{document}
++Horde Hardware Requirements

You can get a general sense for the hardware requirements of Horde by looking at the <a href="https://wiki.horde.org/Deployments">Deployments</a> page.

Here are some general guidelines for determining the number of hard disk drives required for a given I/O load.  This information is probably more useful for email server administrators than Horde administrators because Horde is generally not I/O bound.

+++Determining disk drives if you know the IOPS required

If you can make an estimate of how many I/O's Per Second (IOPS) you need you can determine how many disks you'll need as RAID10 and how many disks you'll need as RAID5.

Generally, a single disk drive can do this many IOPS per disk:

\begin{quote}
15k rpm: 180-210 IOPS<br />
10k rpm: 130-150 IOPS<br />
7200 rpm: 80-100 IOPS<br />
5400 rpm: 50-80 IOPS


\end{quote}
In a mirrored configuration:

\begin{quote}
Disk IOPS = Read IOPS + (2 * Write IOPS)


\end{quote}
In a parity (RAID5) configuration:

\begin{quote}
Disk IOPS = Read IOPS + (4 * Write IOPS)


\end{quote}
+++Example calculations

Now let's look at an example.  If you estimate that you need to support 40 Read IOPS (40 reads/sec) and 80 Write IOPS (80 writes/sec).

If you want to use a mirrored configuration of drives:

\begin{quote}
Disk IOPS = Read IOPS + (2 * Write IOPS) = 40r/s + (2 * 80w/s) = 200 Disk IOPS

Using 7200 rpm drives, you need: 200 / 50 = 4 disk drives<br />
Using 10k rpm drives, you need: 200 / 130 = 2 disk drives (always round up)


\end{quote}
If you want to use a parity (RAID5) configuration of drives:

\begin{quote}
Disk IOPS = Read IOPS + (4 * Write IOPS) = 40r/s + (4 * 80w/s) = 360 Disk IOPS

Using 7200 rpm drives, you need: 360 / 50 = 8 disk drives (always round up)<br />
Using 10k rpm drives, you need: 360 / 130 = 3 disk drives


\end{quote}
\end{document}
