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 Dario Spagnolo (site web personnel) . Évalué à 5.
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 Benjamin (site web personnel) . Évalué à 2.
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 Dario Spagnolo (site web personnel) . Évalué à 1.
[^] # Re: et la qos réelle ?
Posté par Bemixam (site web personnel) . Évalué à 2.
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 Sasuke . Évalué à 3.
* Les hits/minute/ip autorisé
* Les octets/minute/ip autorisé.
# throttling HTTP server
Posté par Tonton Th (Mastodon) . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.