Guys I''m looking for some advice on the following situation: We''re serving a residential complex with internet, the network has grown and with it has the problems, below is a descriptive layout of our current setup: Connection: ADSL Down/Up speed: 512kbps/256kbps (1024kbps/256kbps in the near future) 2.0GHz Celeron D with 512MB RAM Current users: 140 Maximum amount of users: 509 We''re currently serving them with an HTB-based solution, but now it''s surfacing that some user on the network don''t get shaped correctly. They''re current speed is calculated is follows: Rate = 512 / number of users Ceil = 128kbps Some users never reach they''re ceiling, and only remain on the rate. I''ve checked, double checked and triple checked my scripts and everything is OK. I''ve used the tc_graph.pl script to confirm my scenario and everything is OK. Currently there is one parent class, with 140 child classes (one for each user). We''re going to start providing some internal features to the users like a community forum, web cam at the gates, audio chat, useful downloads and anti-virus updates and e-mail on the server. This means that there will be two subclasses of the parent class, one for internet traffic and one for local traffic. This is by no means a problem for me. What bothers me is that this will be our new scenario: LAN / \ LOC NET | | 140 C''s 140 C''s I don''t know how healthy this is, and I don''t have a clue on how to improve the performance or lessen the load on the box. I''ve also been contemplating moving the setup to a WRR-based solution, but I''m not too sure if WRR can equally share local and gateway traffic as different ''flows''. If possible, just share your thoughts on the best way to handle this scenario with the ''dual'' shaping, different speeds for traffic originating from the network server and internet traffic flowing through the server. The main emphasis is on equality, everyone on the network needs to be happy. Kind regards -- Kenneth Kalmer kenneth.kalmer@gmail.com Folding@home stats http://vspx27.stanford.edu/cgi-bin/main.py?qtype=userpage&username=kenneth%2Ekalmer
On Tue, 26 Jul 2005 12:54:17 +0200 Kenneth Kalmer <kenneth.kalmer@gmail.com> wrote:>Guyshi>I don''t know how healthy this is, and I don''t have a clue on how to >improve the performance or lessen the load on the box. I''ve also been >contemplating moving the setup to a WRR-based solution, but I''m not >too sure if WRR can equally share local and gateway traffic as >different ''flows''.I don''t understand this "2 kinds of traffic" concept. Where is the server? In the internet or local? If local, why the need to shape it at all? I can acknowledge though that under certain circumstances when you have several parallel WRR qdiscs, it leads to freezes. Perhaps if you explain in more detail what the network looks like I can give your more precise answers.>If possible, just share your thoughts on the best way to handle this >scenario with the ''dual'' shaping, different speeds for traffic >originating from the network server and internet traffic flowing >through the server. The main emphasis is on equality, everyone on the >network needs to be happy.WRR is perfect when you need equality. [advertisement]Check out shurdix cough cough[/advertisement].>Kind regards >Kenneth KalmerYours sincerely, Peter
On 7/26/05, Peter Surda <surda@shurdix.com> wrote:> On Tue, 26 Jul 2005 12:54:17 +0200 Kenneth Kalmer <kenneth.kalmer@gmail.com> > wrote: > > >Guys > hi > > >I don''t know how healthy this is, and I don''t have a clue on how to > >improve the performance or lessen the load on the box. I''ve also been > >contemplating moving the setup to a WRR-based solution, but I''m not > >too sure if WRR can equally share local and gateway traffic as > >different ''flows''. > I don''t understand this "2 kinds of traffic" concept. Where is the server? In > the internet or local? If local, why the need to shape it at all? I can > acknowledge though that under certain circumstances when you have several > parallel WRR qdiscs, it leads to freezes. Perhaps if you explain in more detail > what the network looks like I can give your more precise answers.It''s one server, fulfilling two functions, gateway en network service delivery The two flows are as follows: 1. Is internet traffic through this server, acting as the router/firewall. 2. Is the network traffic originating from the (same) server to the network. The network traffic (2) is mail, audio chat, webcam and a little website with useful stuff. This is only available to users inside the network, so no effects on the internet link.> > >If possible, just share your thoughts on the best way to handle this > >scenario with the ''dual'' shaping, different speeds for traffic > >originating from the network server and internet traffic flowing > >through the server. The main emphasis is on equality, everyone on the > >network needs to be happy. > WRR is perfect when you need equality. [advertisement]Check out shurdix cough > cough[/advertisement].I had this idea in the shower this morning, comments please: :0 HTB / \ (HTB) 1:0 2:0 (HTB) | | WRR 1:1 1:2 WRR OK, the parent flow is the network link, so it''s set to 100mbps rate & ceil. The first HTB class (1:0) is shaped to the speed of the ADSL link, and attached to it is a WRR qdisc for equality on that link. The second HTB class (2:0) is shaped to (network - ADSL) and also has a WRR qdisc attached for equality on the network. I don''t know if this is possible, or even feasible, but on paper it makes sense.> > >Kind regards > >Kenneth Kalmer > Yours sincerely, > Peter > _______________________________________________ > LARTC mailing list > LARTC@mailman.ds9a.nl > http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc >-- Kenneth Kalmer kenneth.kalmer@gmail.com Folding@home stats http://vspx27.stanford.edu/cgi-bin/main.py?qtype=userpage&username=kenneth%2Ekalmer
On 7/27/05, Peter Surda <surda@shurdix.com> wrote:> On Wed, 27 Jul 2005 12:01:06 +0200 Kenneth Kalmer <kenneth.kalmer@gmail.com> > wrote: > > >It''s one server, fulfilling two functions, gateway en network service delivery > Ok, now I get it. You can use IMQ and that will solve the problem. Or you can > use a separate computer as a gateway. > > > :0 HTB > > / \ > > (HTB) 1:0 2:0 (HTB) > > | | > > WRR 1:1 1:2 WRR > WRR doesn''t like situations like this (don''t ask why, some bug somewhere), the > computer tends to freeze unpredictably.Ouch, well now each of the WRR discs will be replaced by HTB discs for each user, currently 140 discs for each WRR disc... Any other ways to do this, or will HTB cope? This can expand up to 2x 509 discs... How can I then handle the equality issues better, should I just pray that HTB will divide all excess fairly? Also, I forgot to mention that each HTB for each client get''s an SFQ as well, just so that they don''t kill themselves in the process. Is this kosher? Thanks -- Kenneth Kalmer kenneth.kalmer@gmail.com Folding@home stats http://vspx27.stanford.edu/cgi-bin/main.py?qtype=userpage&username=kenneth%2Ekalmer
Kenneth Kalmer wrote:> On 7/27/05, Peter Surda <surda@shurdix.com> wrote: > >>On Wed, 27 Jul 2005 12:01:06 +0200 Kenneth Kalmer <kenneth.kalmer@gmail.com> >>wrote: >> >> >>>It''s one server, fulfilling two functions, gateway en network service delivery >> >>Ok, now I get it. You can use IMQ and that will solve the problem. Or you can >>use a separate computer as a gateway. >> >> >>> :0 HTB >>> / \ >>> (HTB) 1:0 2:0 (HTB) >>> | | >>> WRR 1:1 1:2 WRR >> >>WRR doesn''t like situations like this (don''t ask why, some bug somewhere), the >>computer tends to freeze unpredictably. > > > Ouch, well now each of the WRR discs will be replaced by HTB discs for > each user, currently 140 discs for each WRR disc... Any other ways to > do this, or will HTB cope? This can expand up to 2x 509 discs...Do you really need to shape the local traffic at all though? I would be tempted to just shape inet traffic. If you use wrr then you won''t be able to ceil each user anymore - if you don''t mind loosing that, then you could also consider esfq, it''s not as perfect as wrr but at least you get to choose a queue length more suitable for your link speed.> > How can I then handle the equality issues better, should I just pray > that HTB will divide all excess fairly? Also, I forgot to mention that > each HTB for each client get''s an SFQ as well, just so that they don''t > kill themselves in the process. Is this kosher?We are talking about shaping downloads here - if so then I think the equality problem could be more to do with loosing control while trying to shape from the wrong end of the bottleneck. You may well be dropping packets at ISP/teleco rather than in your queues - which with the amount of bandwidth per user you have is going to be tricky to sort. In fact unless you are using limit 10 or something on sfqs you may not be dropping any at all. How many users are active at peak times, are you doing nat and how much do they care about latency etc would affect how I would approach this. Andy.