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

