[solved]Verständnis für mod_qos

Apache, Lighttpd, nginx, Cherokee
dante
Posts: 128
Joined: 2010-04-20 12:50

[solved]Verständnis für mod_qos

Post by dante » 2010-07-29 09:28

Schönen guten Morgen zusammen,

wir haben auf Grund eines Slowloris-Problems mod_qos eingespielt.
Allerdings habe ich die Direktive QS_SrvMinDataRate noch nicht ganz durchschaut.

Laut Doku ist der Aufruf so

Code: Select all

QS_SrvMinDataRate <bytes per second> [<max bytes per second>]


Quelle: http://mod-qos.sourceforge.net/

Respektive in unserer Config:

Code: Select all

QS_SrvMinDataRate 150 1200


So wie ich das jetzt verstanden habe, heißt das doch, dass ein Client mindestens 150 B/s Traffic generieren muss, sonst wird er geblockt.
Und je mehr Clients aktiv sind, desto höher wird diese Grenze gesetzt, bis maximal 1200 B/s.
Soweit korrekt?

Nur die Logs kann ich mir noch nicht schlüssig erklären:

Code: Select all

[Thu Jul 29 00:45:13 2010] [error] mod_qos(034): access denied, QS_SrvMinDataRate rule (in): min=166, this connection=0, c=208.xxx.xxx.xxx
[Thu Jul 29 07:36:27 2010] [error] mod_qos(034): access denied, QS_SrvMinDataRate rule (out): min=206, this connection=0, c=192.xxx.xxx.xxx


Was hat das in und out zu bedeuten? Heißt das, dass Client 208.xxx mit 0 B/s rein kommunuziert und das Limit dynamisch auf 166 gesetzt ist?
Und das out kann ich gar nicht nachvollziehen, klingt für mich nach der Geschwindigkeit, die der Server selbst nach außen schickt.

Vielleicht kann jemand Licht in mein Dunkles bringen.

Gruß
dante
Last edited by dante on 2010-07-29 11:45, edited 1 time in total.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Verständnis für mod_qos

Post by Joe User » 2010-07-29 10:03

http://mod-qos.sf.net/ wrote:QS_SrvMinDataRate <bytes per second> [<max bytes per second>]
Defines the minimum upload/download throughput a client must generate (the bytes send/received by the client per seconds). This bandwidth is measured while receiving request data (request line, header fields, or body). The client connection get closed if the client does not fulfill this required minimal data rate and the IP address of the causing client get marked in order to be handled with low priority (see the QS_ClientPrefer directive). The "max bytes per second" activates dynamic minimum throughput control: The required minimal throughput is increased in parallel to the number of concurrent clients sending/receiving data. The "max bytes per second" setting is reached when the number of sending/receiving clients is equal to the MaxClients setting. No limitation is set by default.


http://translate.google.com/ wrote:QS_SrvMinDataRate <bytes pro second> [<max Bytes pro second>]
Definiert die minimale Upload / Download-Durchsatz muss ein Client generieren (die Bytes senden / empfangen durch den Kunden pro Sekunde). Diese Bandbreite ist gemessen während des Empfangs Anfrage Daten (Request Line, Header-Felder, oder Einrichtung). Die Client-Verbindung geschlossen, wenn der Kunde nicht erfüllen, müssen diese minimalen Datenrate und die IP-Adresse des Client verursacht bekommen, um markierte mit niedriger Priorität behandelt werden erhalten (siehe QS_ClientPrefer Richtlinie). Die "Max-Byte pro Sekunde" aktiviert dynamischen Mindest-Durchsatz-Steuerung: Die erforderliche minimale Durchsatz wird parallel zu der Anzahl gleichzeitiger Clients Senden / Empfangen von Daten erhöht. Die "Max-Byte pro Sekunde"-Einstellung ist erreicht, wenn die Zahl der Senden / Empfangen von Kunden in Höhe der MaxClients Einstellung ist. Keine Begrenzung ist standardmäßig gesetzt.


Die Übersetzung technischer Dokumentationen ist zwar generell schlecht, aber diese ist ausnahmsweise mal recht brauchbar. Der erste und die letzten drei Sätze sind entscheident für Dein Problem.
Last edited by Joe User on 2010-07-29 10:04, edited 1 time in total.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

dante
Posts: 128
Joined: 2010-04-20 12:50

Re: Verständnis für mod_qos

Post by dante » 2010-07-29 10:36

Gut, aber das erklärt mir immernoch nicht die Grundaussage eines dazugehörigen Logs (siehe oben).
Die Logs mit Kennzeichen in kann ich mir zusammenreimen, wäre nach Pseudocode eventuell so:
Client ABC hat eine Verbindung offen, aber sendet momentan mit 0 B/s, er muss allerdings mindestens mit 166 B/s senden. Ergo: Leitung gekappt

Ich weis nicht, wie das intern gehandelt wird, aber wenn ein Client mal nichts anfragt und KeepAlive aktiviert ist, kann es nicht sein, dass er dann diese 150 B/s nicht schafft?

Gruß
dante

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Verständnis für mod_qos

Post by Joe User » 2010-07-29 10:53

dante wrote:Ich weis nicht, wie das intern gehandelt wird, aber wenn ein Client mal nichts anfragt und KeepAlive aktiviert ist, kann es nicht sein, dass er dann diese 150 B/s nicht schafft?


Da trifft dann "The client connection get closed if the client does not fulfill this required minimal data rate and the IP address of the causing client get marked in order to be handled with low priority (see the QS_ClientPrefer directive)." zu.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

dante
Posts: 128
Joined: 2010-04-20 12:50

Re: Verständnis für mod_qos

Post by dante » 2010-07-29 11:25

Ok, das wäre ja auch nicht weiter schlimm.
Aber wie differenziert man nun das "in" und "out" in den Logs? Sehe ich richtig, dass "this connection" die aktuelle Bandbreite besagt?
Weil dann wärs ja nicht schlimm, wenn der Client eh nix mehr macht, kann die Verbindung auch geschlossen werden.
Aber beißt sich das nicht mit KeepAlive?

Gruß
dante

dante
Posts: 128
Joined: 2010-04-20 12:50

Re: Verständnis für mod_qos

Post by dante » 2010-07-29 11:36

Ah okay.
Und ausgehender Datenverkehr heißt was genau? Client fragt an, Server wills schicken, aber Client hat Verbindung schon geschlossen?
Weil sonst würde das überwachen des ausgehenden Verkehrs keinen Sinn für mich machen.

Gruß
dante

dante
Posts: 128
Joined: 2010-04-20 12:50

Re: Verständnis für mod_qos

Post by dante » 2010-07-29 11:45

Alles klar, ich denke ich habs geblickt.

Vielen Dank für eure Hilfe

Schönen Tach noch
dante