Bandbreitenbegrenzung

Ideen und Vorschläge sind willkommen.

Bandbreitenbegrenzung

Beitragvon miTreD » Do Jun 28, 2007 9:01 am

von http://www.yacy-forum.de/
------
Allo hat geschrieben:Wunsch aus dem IRC:
Bandbreitenbegrenzung, sowohl rate, als auch Gesammtmenge.

------
maatin hat geschrieben:wünsch ich mir auch !
Erhöht den WAF sicher ungemein...:)

------
miTreD hat geschrieben:Also meine Peers sind sooooo langsam, dass die quasi keine Bandbreite benötigen ;-) Stimme daher nur für die Begrenzung der Gesamtmenge.

------
Technifreak hat geschrieben:Bin ich sehr dafür, da ich hier keine Flatrate habe.

------
Orbiter hat geschrieben:ich schlage dafür folgende Vorgehensweise, bzw. Schritte vor:

1.: Berechnung der aktuellen Bandbreite, wobei es wichtig ist zu wissen über welchen Zeitraum gemittelt werden soll.

2.: Bedingung im Crawl-Job, der diesen Wert mit dem voreingestellten Wert vergleicht.

Sollte also relativ leicht zu machen sein. nur nicht schnell...

------
Allo hat geschrieben:Bandbreite fürn Proxy ist auch was für die UserAccounts ...

------
theli hat geschrieben:Die Berechnung des durch Crawler / Proxy runtergeladenen Datenvolumens hab ich über zwei Klassen
Code: Alles auswählen
httpdByteCountInputStream
httpdByteCountOutputStream
realisiert. D.h. dort wird bereits mitgezählt wieviele Daten transferiert werden. Was man für die Bandbreitenbenützung noch machen müßte, wäre diese Klassen zu überladen und z.b. alle x transferierten Bytes zu überprüfen ob man die eingestellte Rate überschritten hat und ggf. ein Sleep einlegen. So machen es übrigens auch Programme wie Limewire.

------
roland hat geschrieben:Ich bin mindestens 10 mal nach einer Bandbreitenbegrenzung gefragt worden.
Das wäre wirklich toll, wenn das demnächst mal in Angriff genommen würde.

------
Allo hat geschrieben:Das sind 2 Themen: 1x Crawler, yacy protokoll, ... und einmal Proxy.

------
theli hat geschrieben:
Allo hat geschrieben:Das sind 2 Themen: 1x Crawler, yacy protokoll, ... und einmal Proxy.

Verstehe nicht was du meinst. Beziehst du dich auf mich?
Die Streams von oben inkludieren eine statische HashMap für Accounting-Informationen. Dort wird reingespeichert wieviel der Proxy/Crawler Daten gezogen hat.
Zusätzlich verwendet der Proxy diese Streams auch um die pro Request transferierten Daten zu ermitteln und stellt sie in den Connection-Properties zur Verfügung. Die kannst du dann für dein User-Accounting verwenden.

Falls mal eine Bandbreitengerenzung pro User oder pro Crawljob benötigt wird können, können wir diese HashMap leicht ausbauen und z.b. Namespaces verwenden.
Z.B.: PROXY speichert dann das globale Accounting und PROXY.User1 extra nochmal die Info des Benutzer1.
miTreD
 
Beiträge: 1241
Registriert: Mi Jun 27, 2007 11:35 am
Wohnort: /home

Zurück zu Wunschliste

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste