I really think IPv6 is a step in future direction but I saw poor performance on one of our OVH server.
Disabling IPv6
Sysctl Edit
Open /etc/sysctl.conf
and add following lines.
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Then run sudo sysctl -p
Change proc
Just run following command
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
If it returns 0, then ipv6 is not completely disabled. May be you need to reboot OS which is something not desired on server.
So just run following command to disable manually.
echo "1" > /proc/sys/net/ipv6/conf/all/disable_ipv6
You can test again to see if its disabled.
Thats it. Next section has tests I have carried out before reaching to conclusion that I need to disable IPv6. You may skip it.
Tests
wget with IPv6
wget -O /dev/null http://proof.ovh.ca/files/1Gb.dat
--2014-02-06 06:42:26-- http://proof.ovh.ca/files/1Gb.dat
Resolving proof.ovh.ca (proof.ovh.ca)... 2607:5300:60:273a::1, 198.27.85.58
Connecting to proof.ovh.ca (proof.ovh.ca)|2607:5300:60:273a::1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 125000000 (119M) [application/x-ns-proxy-autoconfig]
Saving to: `/dev/null'
100%[======================================>] 125,000,000 1.35M/s in 94s
2014-02-06 06:44:00 (1.27 MB/s) - `/dev/null' saved [125000000/125000000]
wget with IPv4
wget -4 -O /dev/null http://proof.ovh.ca/files/1Gio.dat
--2014-02-07 06:30:46-- http://proof.ovh.ca/files/1Gio.dat
Resolving proof.ovh.ca (proof.ovh.ca)... 198.27.85.58
Connecting to proof.ovh.ca (proof.ovh.ca)|198.27.85.58|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1073741824 (1.0G) [application/x-ns-proxy-autoconfig]
Saving to: `/dev/null'
100%[====================================>] 1,073,741,824 108M/s in 9.5s
2014-02-07 06:30:56 (108 MB/s) - `/dev/null' saved [1073741824/1073741824]
Difference
As you can see there with IPv4 file got downloaded with 108 Mbps speed but with IPv6 it was just 1.32 Mbps i.e. 100 times slower!