[PATCH] configurehood: Introduce random delays to dilute requests

Adrian Schmutzler mail at adrianschmutzler.de
Mo Okt 29 14:48:36 CET 2018


Im Prinzip ist es relativ wurscht, bei meiner Variante wäre der Vorteil, dass der configap vor dem Sleep angeht.

 

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

 

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.

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 HTML-Daten wurde abgetrennt...
URL: <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20181029/040d7bd4/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/20181029/040d7bd4/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev