[PATCH] configurehood: Introduce random delays to dilute requests

mail at adrianschmutzler.de mail at adrianschmutzler.de
Di Okt 30 11:01:04 CET 2018


Okay.

 

From: Christian Dresel [mailto:fff at chrisi01.de] 
Sent: Dienstag, 30. Oktober 2018 10:14
To: Adrian Schmutzler <mail at adrianschmutzler.de>; franken-dev at freifunk.net
Subject: Re: [PATCH] configurehood: Introduce random delays to dilute requests

 

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 <mailto:mail at adrianschmutzler.de> >; franken-dev at freifunk.net <mailto: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>  <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 HTML-Daten wurde abgetrennt...
URL: <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20181030/dea0274c/attachment.html>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 834 bytes
Beschreibung: nicht verfügbar
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20181030/dea0274c/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev