Results 1 to 16 of 16
-
11-21-2006, 12:31 AM #1AWS Developer GCP AZURE Devops
- Join Date
- Dec 2002
- Location
- India
- Posts
- 1,433
slow single threaded http/ftp downloads
Hello all,
I have 2 dedicated servers located in very reputed dedicated server companies in the usa.
one located with service provider A with a 100MBPS switch and burstable bandwidth
In this server I always , I mean ALL THE time get download speeds of over and above 1500KiB/sec all the time for *single threaded http/ftp" downloads
for example
server# lynx "http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.27.tar.gz/from/http://mysql.mirrors.pair.com/"
Read 21874 of 25261 KiB of data, 1651 KiB/sec.
etc
I have another server located with dedicated provider B with the same 100MBPS switch and burstable bandwidth but
server# lynx "http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.27.tar.gz/from/http://mysql.mirrors.pair.com/"
Read 7810 of 25261 KiB of data, 632 KiB/sec.
i.e it starts at about 780KiB/sec and gradually reduces and tapers off to about 632 KiB/Sec and eventually settles at about 500KiB/sec or so
what is really happening here in the case of server B?
Is there some kind of *unknown* bandwidth throtlling that is being secretly applied in service provider B's case
Im not sure whether this will make any difference but service provider A's server is freebsd and service provider's B server is Linux enterprise 4
Also the technicians present in service provider's server B are saying that they are trying to fix this problem for the last 7 days
Any pointers will be greatly appreciated and I can pass it onto the server B's techs
I have given the above download url only as a sample but the same holds good for all the public downloadable urls like perl , php or mysql websites..I have tried in about 25 different urls
Service provider A 's download speed rocks and is always about 1700 KiB/sec or so
but
Service provider B's download speed does not cross 650Kibs at no point of time for single threaded downloads
I may not be able to show you the traceroutes since I do not want to reveal the locations of my servers
also if I use a mult threaded download utility like axel to download these files the speed goes up appreciably on service provider's B server too.
Could the "B" server linux kernel have been tweaked to allow only a certain amount of bandwidth for single threaded downloads ?
Im not sure at all
any help will be greatly appreciatedChris, Developer/Programmer,
https://www.chrisranjana.com/
Php laravel developers, Node Python developers,
AWS Certified | Python developers | Nodejs Developers | Devops
-
11-21-2006, 04:04 AM #2Junior Guru
- Join Date
- Sep 2005
- Location
- Southern California
- Posts
- 179
Keep in mind that just because you have a 100mbit connection to your switch doesnt mean that you have a 100mbit connection to the internet.
In a datacenter switches are often 24 ports, and with less reputable hosts you may be sharing your 100mbit link with 20 other people on the same switch. If the switch has a gigabit uplink to the core/distribution switches, then thats fine. However i have seen many cases where a 24 port 10/100 switch has a 100mbit uplink.
If a bunch of other people on the same switch are using a lot of bandwidth then that could explain your speed issues.
As far as i know you cannot tweak a kernel to limit bandwidth, especially if you can thread it and get better speeds. It is possible the host has a packet shaper that is throttling your requests, however this is unlikely.
If you want to test, you can try transferring data via http, https, and ftp, and compare speeds.
-
11-21-2006, 07:45 AM #3AWS Developer GCP AZURE Devops
- Join Date
- Dec 2002
- Location
- India
- Posts
- 1,433
Originally Posted by localhost127
If a bunch of other people on the same switch are using a lot of bandwidth then that could explain your speed issues.
If you want to test, you can try transferring data via http, https, and ftp, and compare speeds.Chris, Developer/Programmer,
https://www.chrisranjana.com/
Php laravel developers, Node Python developers,
AWS Certified | Python developers | Nodejs Developers | Devops
-
11-21-2006, 08:58 AM #4Local tech for Los Angeles
- Join Date
- Feb 2003
- Location
- Panorama City, CA
- Posts
- 2,581
Ask them maybe?
Do an in house test..
Full duplex problem maybe?
Try and force 100?
-
11-21-2006, 12:20 PM #5AWS Developer GCP AZURE Devops
- Join Date
- Dec 2002
- Location
- India
- Posts
- 1,433
Jeremy
The box is on Linux RHEL
How to know for sure that full duplex is not enabled ?
SInce I have ROOT access I can find it outChris, Developer/Programmer,
https://www.chrisranjana.com/
Php laravel developers, Node Python developers,
AWS Certified | Python developers | Nodejs Developers | Devops
-
11-21-2006, 12:27 PM #6LORD OF THE RINGS
- Join Date
- Dec 2005
- Location
- Internet
- Posts
- 1,352
Run the following command:
# ethtool eth0
that will show you the answer. If you are unable to find it out from the results, please paste the output here so that we could help youSenior Server Administrator
-
11-21-2006, 12:31 PM #7Local tech for Los Angeles
- Join Date
- Feb 2003
- Location
- Panorama City, CA
- Posts
- 2,581
I like mii-tool its just easy on the eyes.
-
11-21-2006, 12:55 PM #8LORD OF THE RINGS
- Join Date
- Dec 2005
- Location
- Internet
- Posts
- 1,352
Originally Posted by JeremySenior Server Administrator
-
11-21-2006, 01:42 PM #9AWS Developer GCP AZURE Devops
- Join Date
- Dec 2002
- Location
- India
- Posts
- 1,433
Here it is
ethtool eth1
Settings for eth1:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: Not reported
Advertised auto-negotiation: No
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: umbg
Wake-on: g
Current message level: 0x00000007 (7)
Link detected: yes
should I be concerned about the bolded lines above ?Chris, Developer/Programmer,
https://www.chrisranjana.com/
Php laravel developers, Node Python developers,
AWS Certified | Python developers | Nodejs Developers | Devops
-
11-21-2006, 01:47 PM #10AWS Developer GCP AZURE Devops
- Join Date
- Dec 2002
- Location
- India
- Posts
- 1,433
also if I enable auto negotiation it comes as half duplex
ethtool eth1
Settings for eth1:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Half
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: umbg
Wake-on: g
Current message level: 0x00000007 (7)
Link detected: yesChris, Developer/Programmer,
https://www.chrisranjana.com/
Php laravel developers, Node Python developers,
AWS Certified | Python developers | Nodejs Developers | Devops
-
11-21-2006, 02:15 PM #11Junior Guru
- Join Date
- Sep 2005
- Location
- Southern California
- Posts
- 179
Half duplex is bad and would probably cause some of your problems. If you are having problems it is a decent idea to force full duplex. In fact, some people force full duplex even if they aren't having issues.
-
11-21-2006, 02:20 PM #12AWS Developer GCP AZURE Devops
- Join Date
- Dec 2002
- Location
- India
- Posts
- 1,433
Thanks. so
Advertised link modes: Not reported
Advertised auto-negotiation: No
This happens only when full duplex is forcedChris, Developer/Programmer,
https://www.chrisranjana.com/
Php laravel developers, Node Python developers,
AWS Certified | Python developers | Nodejs Developers | Devops
-
11-21-2006, 03:00 PM #13Junior Guru
- Join Date
- Sep 2005
- Location
- Southern California
- Posts
- 179
Its not an issue, it is just letting you know what is going on.
-
11-21-2006, 03:03 PM #14AWS Developer GCP AZURE Devops
- Join Date
- Dec 2002
- Location
- India
- Posts
- 1,433
ok and here is more info from your favorite tool
mii-tool -v
eth0: no autonegotiation, 100baseTx-HD, link ok
product info: vendor 00:50:43, model 12 rev 2
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
link partner: 100baseTx-HD
eth1: no autonegotiation, 100baseTx-HD, link ok
product info: vendor 00:50:43, model 12 rev 2
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
link partner: 100baseTx-HD
The link partner is shown as Half Duplex ???Chris, Developer/Programmer,
https://www.chrisranjana.com/
Php laravel developers, Node Python developers,
AWS Certified | Python developers | Nodejs Developers | Devops
-
11-21-2006, 03:16 PM #15Junior Guru
- Join Date
- Sep 2005
- Location
- Southern California
- Posts
- 179
Right, this is why you want to turn off auto negotiation and force it to 100 full
-
11-22-2006, 06:08 AM #16Local tech for Los Angeles
- Join Date
- Feb 2003
- Location
- Panorama City, CA
- Posts
- 2,581
You can add
ETHTOOL_OPTS="autoneg off speed 100 duplex full" to /etc/sysconfig/network-scripts/ifcfg-eth0
then restart the network should make it work.