[PATCH] configurehood: Introduce random delays to dilute requests

Christian Dresel fff at chrisi01.de
Di Okt 30 10:14:02 CET 2018


Hi

Am 29.10.18 um 14:48 schrieb Adrian Schmutzler:
> Im Prinzip ist es relativ wurscht, bei meiner Variante wäre der Vorteil,
> dass der configap vor dem Sleep angeht.

ich weiß nicht so recht, ist zwar durchaus ein Argument aber das
ver"sleep"t das ganze Script noch mehr. Ich hab jetzt ne Nacht drüber
geschlafen und bleib dabei, bitte in den micrond verzögern das gefällt
mir einfach besser.

> 
>  
> 
> Ich werde dann aber mal einen v2 mit der micrond-Variante schicken.
> 
>  
> 
> Zu sehr verteilen will ich die Anfragen eigentlich gar nicht, das
> reduziert dann das Wartungsintervall, wo configurehood aus ist
> (schließlich läuft der ja auch durchaus recht lange).
> 
> Zudem haben wir einen sleep 30, der sicherstellen soll, dass die
> Mesh-Router erst dann per STA den configap suchen, wenn dieser up ist
> (spart jeweils 5 Minuten):
> 
>  
> 
> https://github.com/FreifunkFranken/firmware/blob/master/src/packages/fff/fff-hoods/files/usr/sbin/configurehood#L93

ich weiß nicht, das ganze ge"sleep"e da drinnen gefällt mir eigentlich
nicht. Ja ich weiß warum es nötig ist aber humpf... So oft ändert sich
die Hood doch eh nicht und bisher waren die Kisten sogar mehrere Stunden
danach offline (wegen Bug) und außer uns hats niemand gemerkt. Wenn das
"zusammenbauen" des Netzes nach einen Hoodwechsel nun mal 30min dauert
weil jemand so ein kompliziertes Meshsetup gemacht hat... Also ich wäre
fast dafür das ganze sleep Zeug da rauszuwerfen oder man überlegt man ob
sich da ne Lösung ohne sleep findet.

> 
>  
> 
> Man könnte also
> 
> 1. den Sleep in den micrond schreiben, diesen dann aber kurz lassen
> (10-15 sec.), sodass das Herunterladen per Wireless noch lange genug wartet.

wie oben schon gesagt, das ganze aufeinander warten ist irgendwie so
humpf. Ich glaube wir brauchen da irgendwann mal ne bessere Lösung.
AKtuell kann ich aber damit leben wenn wir es schon mal um random 1 - 15
Sekunden verzögern im micrond, dann lieber diese Variante.

mfg

Christian

> 
> 2. den Sleep in die configurehood schreiben (ggf. auch einfach nur
> einmal direkt nach dem configap Block), und dort dann ggf. längere
> Zeiten verwenden.
> 
>  
> 
> Ich würde aber auch bei 2. gerne unter 30 sec. bleiben, damit das
> configurehood dann in einem 1-Minuten-Fenster planbar durchgelaufen ist.
> 
>  
> 
> Grüße
> 
>  
> 
> Adrian
> 
>  
> 
>  
> 
> *From:*Christian Dresel [mailto:fff at chrisi01.de]
> *Sent:* Montag, 29. Oktober 2018 13:03
> *To:* Adrian Schmutzler <mail at adrianschmutzler.de>; franken-dev at freifunk.net
> *Subject:* Re: [PATCH] configurehood: Introduce random delays to dilute
> requests
> 
>  
> 
> hi
> 
> macht es nicht evtl. Sinn, das ganze bereits im Cron etwas zu entzerren
> so wie es bereits beim Nodewatcher [1] der Fall ist?
> 
> */5 * * * * sleep $(/usr/bin/random 0 60); [ -f /tmp/started ] &&
> /usr/sbin/configurehood
> 
> dann wäre es auch kein Problem, das ganze noch deutlich weiter zu
> entzerren, mir schweben da aktuell (wie im Beispiel oben) so 0 bis 60
> Sekunden vor?
> 
> mfg
> 
> Christian
> 
> [1]
> https://github.com/FreifunkFranken/firmware/blob/master/src/packages/fff/fff-nodewatcher/files/usr/lib/micron.d/fff-nodewatcher
> 
> Am 29.10.18 um 12:48 schrieb Adrian Schmutzler:
>> Gerade noch eingefallen:
>> 
>> Ist sleep beim micrond im Path oder soll ich
>> 
>> /bin/sleep
>> 
>> nehmen?
>> 
>> Grüße
>> 
>> Adrian
>> 
>>> -----Original Message-----
>>> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf Of
>>> Adrian Schmutzler
>>> Sent: Montag, 29. Oktober 2018 12:45
>>> To: franken-dev at freifunk.net <mailto:franken-dev at freifunk.net>
>>> Subject: [PATCH] configurehood: Introduce random delays to dilute requests
>>>
>>> Instead of having 1000 routers accessing the KeyXchange in the
>>> same second, this will dilute the request within a period of
>>> 10 seconds.
>>>
>>> Same is done for queries from gateways.
>>>
>>> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de <mailto:freifunk at adrianschmutzler.de>>
>>> ---
>>>  src/packages/fff/fff-hoods/files/usr/sbin/configurehood | 3 +++
>>>  1 file changed, 3 insertions(+)
>>>
>>> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
>>> b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
>>> index 47e228b7..b6cae476 100755
>>> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
>>> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
>>> @@ -74,6 +74,7 @@ if [ -s "$hoodfilelocal" ]; then
>>>  else
>>>      # if we have Internet, we download the Hoodfile from the
>>> keyxchangev2
>>>      if hasInternet ; then
>>> +            sleep $(/usr/bin/random 1 10)
>>>              getKeyserverHoodfile "$hoodfiletmp" && cp "$hoodfiletmp"
>>> "$hoodfilewww"
>>>
>>>              #if no Internet, we connect to the hidden AP and download the
>>> file from another Node in range
>>> @@ -95,6 +96,8 @@ else
>>>                      getEthernetHoodfile "$hoodfiletmp" ||
>>> getWirelessHoodfile "$hoodfiletmp"
>>>              else
>>>                      echo "We have a Gateway in Range, we load the
>>> keyxchangev2data from fe80::1"
>>> +
>>> +                    sleep $(/usr/bin/random 1 10)
>>>                      getGatewayHoodfile "$hoodfiletmp" && cp
>>> "$hoodfiletmp" "$hoodfilewww"
>>>              fi
>>>      fi
>>> --
>>> 2.11.0
> 
>  
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 833 bytes
Beschreibung: OpenPGP digital signature
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20181030/fd3951f2/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev