Hi all,

Im trying to collect information regarding performance tuning with
haproxy and linux. I've read a dozen or more "tutorials" on tuning and
read a whole lot of manuals and now I just want to double check with
you guys if you have any additional information or suggestions.

First off, the traffic pattern is many small requests, mostly GET's
with either no response or a xml-response maximum 1kb, so what I'm
looking for is parameters that will allow alot (ALOT!) of concurrent,
small, requests, tens of thousands preferably.

So far Im thinking of the following parameters;

# bump local port range
net.ipv4.ip_local_port_range = 1025 65535

# recycle time_wait sockets
net.ipv4.tcp_tw_recycle = 1
(should I use tcp_tw_reuse instead?)

# lower timeout on finished connections
net.ipv4.tcp_fin_timeout = 15

# disable tcp timestamps
net.ipv4.tcp_timestamps = 0

# selective ack's
net.ipv4.tcp_sack = 1

# enable window scaling (does this only affect bandwidth throughput?)
net.ipv4.tcp_window_scaling = 1

# bump the number of max orphaned sockets
net.ipv4.tcp_max_orphans = 1440000

# bump max open files
ulimit -n 100000

Now, the question(s); should I change any limits in
/etc/security/limits.conf for files/procs? Should I reconsider any of
the above parameters? Since the requests are really small (200b - 1kb)
should i change any of the net.tcp_mem/net.tcp_rmem/net.tcp_wmem
parameters? Should I bump the net.ipv4.tcp_max_syn_backlog value
(default: 1024)? Should I fiddle with net.ipv4.tcp_max_tw_buckets?

Also, while Im at it; is there any specific hardware I should look for
when building the HAProxy-machines? Currently Im looking at dual
quad-core xeon's (56xx) with high frequency, the fastest memory I can
find, fast system disks (SAS 15k) and Broadcom 10GbE nic's for
traffic. I will probably run Ubuntu Server 10.04 LTS (64-bit), I'll
compile the latest stable HAProxy 1.4x series and maybe look at
compiling a new kernel from the 2.6.35 tree (network optimization for
multicore cpu's,
see:http://www.linuxfordevices.com/c/a/News/Linux-2635-and-early-days-of-Linux/
and http://kernelnewbies.org/LinuxChanges).

Any input is highly appreciated.

Best Regards,
Timh

Reply via email to