On 05/19/2011 12:22 PM, Jake Vickers wrote:
This is more of an interest than anything - I have a server where I
actually have enough domains and users on it that the ATA/133 spindle
can't keep up with the mail flow.
Has anyone else encountered a situation where they have hit a physical
spindle limitation? Has anyone ever seen a page or collected data to
show how many IO/s a spindle can handle? I have some numbers, but
they're for FCAL, which is not the case for this particular server.
Just curious if anyone else has pushed they system to the edge of
hardware limitations before.

---------------------------------------------------------------------------------

I have not. However, I have maxed out the system bus, which happened well before the HDD reached full capacity. South bridge to be specific. I would expect that to be where the bottleneck is. Given that the SB handles all PCI devices, I would expect that optimizing network traffic could open up a little bandwidth for disk i/o. Here is a recent post from Richard Wilson on the Phoenix LUG list that I'm interested to try:

All,

I ran into this some time ago and thought I should share it -- on a server 
running iptables that's got a heavy network load, these can make a big 
difference.

Netfilter (iptables is the main interface command) is a stateful firewall so it 
tracks connections.  This means that it allocates a certain amount of real RAM 
when the system boots to hold the Connection Tracking Table.  Resizing this 
table requires a reboot.  Something you NEVER want to see is console messages 
that say:

ip_conntrack: table full, dropping packet

When I ran into these, I had to do some digging, and found out how to resize 
the conntrack table, as well as how to decrease the time out value for 
connections (default for Red Hat is 5 days!).  Changing the time out value 
doesn't require a reboot; changing the table size to an appropriate value for 
your workload does.

Under Red Hat/Fedora/Centos, in /etc/sysctl.conf (takes effect at boot time):

# Set Conntrack time out to 12 hours
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 43200
# Set the size of the conntrack table (old and new versions):
net.ipv4.ip_conntrack_max = XXXXXXX
net.ipv4.netfilter.ip_conntrack_max = XXXXXXX

Dynamically change the time out value on the running system (note spaces around 
the = in the sysctl file, but not here!):

sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=43200

These helped, but what really made the biggest difference was this:
I found that the conntrack table had a LOT of entries for traffic from 
127.0.0.1 (!!)  Yes, netfilter will track ALL network traffic.  If your kernel 
is 2.6.9 or above, this command should work to tell netfilter to not track 
localhost traffic:

iptables -t raw -A OUTPUT -o lo -j NOTRACK

After doing this on several mail relay servers we saw the number of entries in 
the conntrack table drop to about half what they had been.  Of course, they 
don't drop right away -- existing table entries have to time out.

Hopefully this may save some of you some headaches.

Richard Wilson


--
-Eric 'shubes'


---------------------------------------------------------------------------------
Qmailtoaster is sponsored by Vickers Consulting Group 
(www.vickersconsulting.com)
   Vickers Consulting Group offers Qmailtoaster support and installations.
     If you need professional help with your setup, contact them today!
---------------------------------------------------------------------------------
    Please visit qmailtoaster.com for the latest news, updates, and packages.
To unsubscribe, e-mail: [email protected]
    For additional commands, e-mail: [email protected]


Reply via email to