Friday, July 2, 2010

There is a bandwidth hogger in my computer

I'm reading: There is a bandwidth hogger in my computerTweet this!
.

A couple of weeks ago we distributed our beta version of PerfProtector among a group of beta testers around the world.

Prior to running PerfProtector by the beta testers, we questioned them regarding some performance problems that they recently encountered.
Some beta testers reported that although they have a very fast Internet connection, they encountered some inconsistent slowdown in their connections - they had good hours but also very bad hours where they couldn't even check their e-mails. This problem wasn't location-specific.

After several hours of monitoring the beta testers machines, we got urgent e-mails from almost all of the slow-connected users. All of them said that PerfProtector identified a single process as the source of the major decrease in their Internet performance: the ultimate hogger was Skype.
All of these users had a public IP address and a relatively good Internet connection.

Well, it isn't such a big surprise since Skype is known to be a bandwidth hogger but the interesting thing was that PerfProtector detected Skype as a huge threat to the performance, almost simultaneously on all of the machines. As a matter of fact, it got the maximum abnormality score: a perfect 100.

In order to reproduce the problem, we set up a Windows XP machine with a public IP address in our lab.
We installed Skype version 4.2.0.158 and monitored the machine with PerfProtector.

After one day, our Internet connection became a bit slower and PerfProtector identified Skype as the source of the problem.
After two days, it became much slower and all websites were uploaded very slowly.
After four days we couldn't surf to any website or use our mail client - the machine was hogged to death!


The graph of the number of Internet connections that Skype used in our machine during a period of nine days illustrates the problem



We can see how bad  things became over time and why our machine was completely blocked due to Skype abnormal behavior.
Hundreds of Internet connections, almost all our upload bandwidth, most of our download bandwidth - the result is a completely hogged machine. Skype indeed takes no prisoners...

The reason for that behavior is well-known: you have a machine with a public IP and a  fast internet connection. Your machine is online for hours and therefore you become a perfect Skype supernode candidate. Skype needs supernode machines in order to maintain its network and enable calls to/from users that are, for example, behind NAT or proxy.
This communication architecture is acceptable as long as it doesn't affect the performance of the supernodes machines. However, as we can see in our recent experiment, Skype has no limits and its greedy behavior just killed our machine.

What can be done?
It is possible to prevent the Skype client from being a supernode. This way, it will be limited to maintain only a few network connections.
However, if everyone will disable the supernode functionality the Skype network will die and no one will be able to make calls. Skype can't exist without supernodes.
This problem of hogging the bandwidth by Skype is known for a long time.,We think that Skype could have  solved this problem but it still continues to hog and affect dramatically the performance of machines around the world.
Skype is a commercial company - it has a business to maintain, it has clients and it has competitors. Skype has to solve the problems that it causes otherwise it won't have clients. As simple as that - unhappy customers can use other products.

Conclusion, until Skype solves this acute problem, we recommend to disable the Supernode functionality from every machine


How to solve this problem using PerfProtector?
The solution is very simple, while you are in the main dashboard of PerfProtector, right-click on the Skype alert and choose "Apply the Disable Supernode Functionality". That's it. From now on you won't be a supernode anymore.

How to solve this problem manually (on Windows machines)?
1. Copy the following text and save it as "DisableSkypeSupernode.reg" :

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Skype]
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Skype\Phone]
"DisableSupernode"=dword:00000001


2. Double-click on the saved file. You should get a message box that is similar to this one:


 Choose "Yes"

3. You are done. You should get a message box that is similar to this one:


4. Reboot your machine


 .

I'm reading: There is a bandwidth hogger in my computerTweet this!

5 comments:

  1. Thanks,
    I also had a huge amount of connections per second and after applying the fix it dropped to 5 and I don't encounter this problem anymore.
    Cheers

    ReplyDelete
  2. I think people misunderstand Skype. Skype can't disable supernode technology, because that's the whole point of Skype. Let me explain.

    Skype is a peer to peer application. When you call a machine on skype, you don't connect directly, but through a myriad of other routes too. That's because whilst the capacity of a single line can be limited, routers can make lots of simultaneous connections. Those other connections exploit slack space on other people's networks.

    When you aren't using skype for a call, your bandwidth is being exploited for someone else's high-quality streaming. And likewise, you only get decent calls because someone else has 'slack space'. That's the way Skype works.

    ReplyDelete
  3. This is a great article on Skype's overall usage and supernodes. Most people in my household are on Macs except one PC user. She's a teenager and talks with friends back home in Europe. I don't know if her computer and our network is being used as a supernode, but do you know of a way to check to see if a Mac is also being used in the same manner as a PC user? I would think so, but have found nothing to explain how and where to find or turn it off for mac users.

    Thanks!

    ReplyDelete
  4. @Jim While this is true, the problem is that many, if not most people use skype with no idea of the fact that it could affect your internet usage, and speed. In fact, I don't even use skype, but because someone else in the house does, our internet constantly slows to ridiculously slow speeds (although the fault also partly lies with our ISP). I think that skype should definitely make the supernode function more well known, better explained, and they should also provide an option to disable this functionality. At the very least, their should be some sort of obvious notification of the use of this technology, instead of using it with little or no notification.

    ReplyDelete
  5. If you didn't know how to create a Skype account, then you are here. Visit more info:- Skype Support

    ReplyDelete