Journal regulation de bande passante via module apache

Posté par  (site web personnel) .
Étiquettes : aucune
0
18
mai
2004
Bonjour,

disposant de serveurs web sur connections ADSL, je souhaite réduire l'influence de "gros" téléchargements. auparavant, j'utilisais mod_bandwidth avec des restriction sur la taille des fichiers.
ainsi, j'avais une série de palier ... a chaque palier, la vitesse d'upload diminuait.

désormais je souhaiterais utiliser le mod_iptos ( qui m a l air bien sympatique )

je suis alors confronte a un probleme ... celui de trouver de la doc.

si vous avez des howtos ou des liens sympa relatifs avec la gestion de bande passante pour apache qui traine dans vos bookmarks, je suis preneur ;-)
  • # La doc

    Posté par  (site web personnel) . Évalué à 5.

    Salut Max,

    voici la doc contenue dans un fichier README que j'ai obtenu en téléchargeant le .deb :

    this module is a hack.

    i wanted bandwidth control for a few virtual hosts, but i did not like
    the userland methods -- they were inaccurate and buggy. i wanted to
    take advantage of the linux kernel traffic shaping which i was already
    using for managing my bandwidth costs. all i needed was a way to "paint"
    some packets from the webserver so that the traffic shaper could handle
    them appropriately.

    i chose to abuse the IPTOS bits ("type of service") to do this. userland
    is able to select IPTOS bits via setsockopt(2). this gives a communication
    channel between the webserver and the traffic shaper, and makes me happy.

    and so mod_iptos was born.

    i've since learned that IPTOS are being updated/replaced by something
    called DIFFSERV... and it sounds cool. but since my hack is in place and
    working i haven't been motivated to go the next step with this module.

    -dean (dean@arctic.org)


    at any rate -- here's a copy of the docs in the code:

    type-of-service bits in IP packets can be used for such things as
    quality-of-service guarantees, or for traffic shaping. this module
    allows you to set IP TOS bits on a per-directory basis (it'll also work
    for location and files containers of course).

    the four TOS bits are:

    lowdelay
    throughput
    reliability
    lowcost

    note that in ancient IP history you were permitted only to
    set none or one of those bits. at some point someone gave
    meaning to the bitwise-OR of the bits... and i'm too lazy
    to go look up those meanings right now. but since there are
    meanings to the bitwise-OR, this module accepts the '|'
    character as an OR operator to combine these bits.

    the magic keyword "none" will result in no IPTOS bits being set.
    (useful for a nested directory container to disable a TOS
    you've set on a parent directory.)

    there's only one command: IPTOS bits

    as in:

    # default to lowdelay TOS
    IPTOS lowdelay

    # choose throughput TOS for the video directory
    <Directory /my/big/video/directory>
    IPTOS throughput



    to test if things are working i suggest tcpdump. it will show you the
    tos bits on each packet.
  • # et la qos réelle ?

    Posté par  (site web personnel) . Évalué à 2.

    Pourquoi vouloir absolument utiliser un module apache ?

    Si tu souhaites limiter la bp de ton serveur, tu peux aussi utiliser de la vraie qos avec les paquets shaper ou plus bas niveau directement avec cbq.

    Dans ce cas, c'est directement le noyau réseau qui te gère les limites, et tu peux même favoriser tes propres connections, histoire de conserver ton adsl pour toi quand même etc.

    bref, quelque chose de bien plus complet ...
    • [^] # Re: et la qos réelle ?

      Posté par  (site web personnel) . Évalué à 1.

      Mais avec IPTOS, ne pourrait-on pas donner des "privileges" differents en fonction du type de fichiers ? Il serait par exemple interessant d'appliquer le bit lowdelay aux fichiers à l'extension .html (generalement legers) et throughput aux .jpg et .png (generalement plus gros) ?
      • [^] # Re: et la qos réelle ?

        Posté par  (site web personnel) . Évalué à 2.

        oui voila c est cet aspect la qui m'interesse ...

        je fait deja du QOS via routeur OpenBSD ( ca me permet de lancer des gros download sur les autres postes sans defavoriser les serveurs )

        mais comme le dit dario ce que je souhaitais mettre en place c est un systeme qui permet d'empecher ( ou reduire tres fortement) le telechargement de gros fichier au profit des simples pages legeres.

        d'autre part, il m'est arrivé de me faire aspirer un serveur par un type qui avait entrepris de sauvegarder toutes les pages d'un portail documentaire en php ( dynamique donc )
        et la ... ma limitation en fonction de la taille des fichiers etait completement impuissante puisque c'etait cette fois ci le nombre de requete qui etait en cause.

        bilan, serveur a genoux jusqu a ce que je banisse son ip temporairement.

        il me semble que dans ip_tos il y a justement un truc qui permet de n'autoriser qu'un certain nombre de requete dans un certain laps de temps pour eviter ce probleme de saturation.
  • # mod_throttle ?

    Posté par  . Évalué à 3.

    C'est le mod_throttle qu'il te faut. En fait, les seuls "dl" ralentis seront les fichiers de plus de 500k et beaucoup de hits. Tu peux régler :
    * Les hits/minute/ip autorisé
    * Les octets/minute/ip autorisé.
  • # throttling HTTP server

    Posté par  (site web personnel, Mastodon) . Évalué à 1.

    Il existe aussi ça: http://www.acme.com/software/thttpd/(...) mais il y a des années que je n'y ai plus touché. A voir ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.