Wietse Venema:
> Yu (Irvin) Fan:
> > Hi,
> > 
> > We're building a box to run two postfix instances to receive and send high
> > volume of emails. According to the documentation it's better to run the two
> > instances on separate disks for performance reason. I'm trying to understand
> > how exactly does the disk I/O affect the postfix performance? By speed
> > (bytes per second) or activities (# of read/write per second)?
> 
> I have shocking information for you: it is none of the above.
> 
> Postfix must write the message to stable storage, so that it
> will not be lost after a system crash.
> 
> For example, writing mail to a queue file requires multiple file
> system updates:
> 
> - allocate queue file inode (in inode bitmap etc.)
> - allocate queue file blocks (in block bitmap etc.)
> - update queue file blocks
> - update queue file inode
> - update directory file (for queue file name etc.)
> - update directory file inode
> 
> Each of these are in a different place in the file system.  Only
> once all this information is updated, can Postfix claim that mail
> is in stable storage.
> 
> Thus the read/write speed is largely irrelevant for small email
> messages. Performance is dominated by seek latency and rotational
> latency.

You can reduce the latencies by using a large non-volatile buffer
(as is common with RAID systems). With the large non-volatile
buffer, writes complete quickly. The hardware can sort the update
order to minimize head movements.

        Wietse

Reply via email to