there many causes to this problem, From a router standpoint, if the slowdown is happening in the router, the likely cause is the router having a bloated firmware from the ISP which leaves very little memory for handling many connections.
Many 3rd party firmware and some higher quality routers have a solution to this, they shorten the time a connection is kept depending on the connection type
(some companies may just have a single timer that can be up to a week long for almost all connections and if you do things like p2p, you can easily cause the router to run out of memory and either run extremely slow or not connect to the internet at all)
if the problem is with your router, then check if it has a feature called transparent bridge (this allows you to basically disable the router part of the dsl gateway and use another router like a linksys wrt54gl or any other quality router and then have that router handle the pppoe connection.
if you don't like having 2 networking devices running then get a different dsl gateway. Netgear has some pretty good ones. or if you know anyone who has a service like verizon dsl then maybe they can let you use one of their old modems since verizon generally allows you to upgrade to a new dsl gateway every few years and they don't ask for the old one back.
If the slowdown only happens at a specif time of day then the problem is with the ISP and network congestion and you must call the ISP and get the call escalated to a manager and then to one of their "network specialist" and then have then switch you to a new router on the ISP end that may be less congested.
if the slowdown happens randomly and when you leave your PC idle, you see a ton of network activity (lights blinking on the router) then you may have something running on your PC thats using a lot of bandwidth, could be a trojan, spyware, or a P2P program running and someone is downloading stuff from your shared folder.
PS if you want to rule out a software problem, then get a ubuntu live cd and surf the internet through ubuntu when the internet is going slow, and if it happens in ubuntu then the problem is either your dsl gateway or ISP http://www.ubuntu.com/getubuntu/download
PS when a ISP does a line test, it will always come back normal. and the first level support workers are only capable of telling you to restart the router or do a line test
I have dsl and a while back, a city owned tree fell down and snapped the phone line to my house.
I called the ISP and told them about what happened and the workers didn't seem to understand what I was talking about, I guess they don't have trees where they outsourced the support to.
They kept blaming the problem of me not having internet on a infection or me not restarting my dsl gateway enough.
They did line test after line test and they all came back good, even though the phone line was cut and I had no DSL and no phone service
If a cut phone line cant give you a bad line test then it makes me wonder what does it take to get a bad line test (the end of the world)
It took 1 week calling multiple times a day before I was able to get connected to a worker who would transfer me to a manager, and manager who would transfer me to a network specialist who immediately scheduled a worker to fix the problem once I told them that a tree fell on the phone line and cut it
this is just to give you a idea of how useful the first level if support from a ISP can be
I also had a problem with the network congestion and I was able to work my way up to a network specialist who understood what I was talking about and they transferred me to a different router on the ISP end
not sure how your ISP is but you may have to work your way up also to get a competent worker who will fix the problem.