This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Setting up QOS for my web server

I read the doco but I am still not all that clear on the best way to setup QOS for my web server.

What I want to do is relatively straight forward. I want to ensure that my web server has priority on my network.
Currently, when I do any file downloads it hogs all of my available bandwidth, making the serving of pages on the web server very slow. I am happy that the file download speeds are restricted whenever there is http access to the web server. As stated, I want the web sever to have priority.
Will the ASG allow me to configure this?

Scenario:
ASG 7.306
DSL connection 1.5Mb/256Kb
3 interfaces: internal external and dmz

I am pretty comfortable with configuring the rest of the ASG but I have never played with QOS.
What I would like is some advice from those of your with skills in this area, before I screw things up royally...  [;)]


This thread was automatically locked due to age.
Parents
  • Sure.

    Enable QoS on the external interface and set the bandwidth to
    download: 1425 kbit/s
    uplink: 240 kbit/s

    these numbers should a bit smaller than what your DSL lines really does so the modem does not start buffering.

    than create a traffic selector
    src: webserver
    svc: any
    dst: any

    go to bandwidth pools and select the external interface, than create a bandwidth pool with the following settings:

    than create a bandwidth pool with the garuanteed bandwidth of 170kbit/s, do not check upper limit and select the newly created traffic selector. 

    this way you garantee your webserver 70% of your upstream banwidth. 

    i hope that helps, 
    regards
    Gert
  • Thanks Gert. I will give it a try now.
  • One quick question.

    When I try and enter the values you suggested for the external interface it pops up a message saying that it is not possible.
    By default the settings for all interfaces is 102400kbits/sec (up and down) which is obviously not correct.

    Do I need to configure these differently?
    If so, how do I do this to avoid the error message?
  • Hmm, 

    Normally you just add edit the interface, and change the values.
    Is the interface enabled or disabled?
    WHat is the exact error message, 

    Mine looks like this:


    hope that helps
  • This is very weird, it's not happening now (the error message that is).
    I can now set the external interface to 240kbits/sec (up) 1425kbits/sec (down)

    The message was:
    The settings you are attempting to make result in an impossible bandwidth allocation situation. Please review your settings.

    I now get this same error message in Bandwidth Pools if I try and set a value over 216kbit/sec (after setting 240kbits/sec for the external interface)

    Does this work on a minimum percentage of the values set for the interface?
  • Hi BigO, 

    there are some limits, i think the maximum value of a bandwidth pool can be only 90% of the max interface. try 215 kbit/sec instead. 
    And also the 90% is the sum of all defined bandwidth pools. 

    these values are garuantees, so you can not overassign. 

    regards
    Gert
  • Thanks Gert, that's what I thought was the case.

    Getting that error message initially when I was trying to set the interface values threw me a little. No idea why that happened.
    None the less, it's all setup now. Hopefully it has the desired result.

    Thanks again for your help. [:)]
  • no problem, 
    please let us know if it worked out and what your experience was.

    thanks
    Gert
  • Gert, thank you for the clear example.  I'm a constant grumbler about the paucity of such articles in the KnowledgeBase.  If you guys aren't going to replace it with a Wiki, then please give us all an opportunity to submit articles to it.  OK, no more griping from Bob!

    Everyone, Here's a problem that one of my clients had this week.

    They have no DMZ, a webserver with 20 online stores, an Exchange server and about 70 PCs as clients.  On Thursday, a designer was downloading a 9GB file prepared by an artist in New York for a new client's online store.  This took up so much bandwidth for so long that there were complaints about not receiving emails (they average 50K/day including spam) from customers and others not being able to do the normal, small downloads done in their regular work.

    Please correct me if the following is not the "best practice" solution:
    [LIST=1]
    • They have a 5MB connection, so I've set the up/downlink bandwidth to 4760 for the External Interface, and to 95000 for the Internal.
    • Create a 'Traffic Selector named "Browsing" defined as 'Any' -> 'Web Surfing' -> 'Internal (Network)'.
    • Create a 'Traffic Selector named "Email Receipt" defined as 'Any' -> 'SMTP' -> 'Exchange'.
    • Create a 'Bandwidth Pool' on the Internal interface named "Regular Services" and check the new "Browsing" and "Email Receipt" selectors. Set the 'Guaranteed bandwidth' to 2048 and don't check the 'Specify upper bandwidth limit' box.
    • Create a 'Traffic Selector named "Designer Downloads" defined as 'Any' -> 'HTTP' -> [Designer's download PC].
    • Create a 'Bandwidth Pool' on the Internal interface, placed at the top (before "Regular Services"), named "Large Downloads" and check the new "Designer Downloads" selector. Set the 'Guaranteed bandwidth' to 2048 and 'Specify upper bandwidth limit' as 3072.
    • As for the webserver that offers online shopping to the outside world, I already created a 'Bandwidth Pool' on the External interface to guarantee that it will always be responsive to shoppers.  (I don't need to add QoS for that on the Internal interface. - Correct?)
    [/LIST]

    Thanks for any input - Cheers - Bob
  • Bob, was there any QOS set on any interface at the time of the problem?

    My (limited) understanding is that if one sets the speeds on the external interface, that bandwidth should be evenly shared between connections.
    Is that right?

    Also, the idea of putting QOS on the internal NICs is confusing for me if there is a DMZ and a LAN; I don't think the 2 will 'cooperate'.
    I know that Astaro used to recommend not doing QOS on internal interfaces, but things have obviously changed now.

    Barry
Reply
  • Bob, was there any QOS set on any interface at the time of the problem?

    My (limited) understanding is that if one sets the speeds on the external interface, that bandwidth should be evenly shared between connections.
    Is that right?

    Also, the idea of putting QOS on the internal NICs is confusing for me if there is a DMZ and a LAN; I don't think the 2 will 'cooperate'.
    I know that Astaro used to recommend not doing QOS on internal interfaces, but things have obviously changed now.

    Barry
Children
  • Thanks, Barry.

    No DMZ at this client site, but if there were, I'm guessing (I promised not to gripe about documentation) that the QoS on any one interface has no effect on any other.

    There was a QoS setting on the Internal interface that guaranteed bandwidth to the webserver.  After reading Gert's suggestions, I believe that it was useless as all it did was guarantee bandwidth towards the server instead of towards the shoppers.  In any case, it had no effect.

    Cheers - Bob
  • So if I need to make the surfing services like HTTP have the priority over p2p and IM traffic and I have LAN interface and an interface that is connected to DSL modem which interface should I configure the QoS on?
  • It's tricky.  The idea of QoS isn't really to prioritze one type of traffic over another; it's really more of a guaranteed minimum of bandwidth regardless of the competition.  WIth web surfing, there are two reasons it can be slowed down: competition for download bandwidth and competition with uploads for sending surf requests to external servers.

    As I understand it, the accepted solution deals directly with the surf requests, but also often handles the first problem.  You set a minimum bandwidth for uplink (outbound) web surfing traffic on the External (DSL) interface, and that takes care of getting your requests out to public web servers.  The inbound traffic on the External interface is then managed by "various techniques such as Stochastic Fairness Queuing (SFQ) or Random Early Detection (RED)."

    This is the solution recommended by Gert on the first page of this thread.

    Cheers - Bob