The short version:
Testing in a large channel, 250+ users online, 5,000+ users offline, sharing over 200,000 magnet links, using the default values for directives:
## ctrl:ir=15&sr=60,40,30,18[,12]&mr=30,30,20,10[,10]&pr=45&dl=normal&sttl=10y
the background channel BW was:
result: avg 16 KiB/s IN, 9 KiB/s OUT
Several variations were tested but these 2 are the most informative:
## ctrl:ir=313&sr=757,677,569,449,313&mr=31,29,23,13,11&pr=47&dl=normal&sttl=10y
result: avg 6 KiB/s IN, 5 KiB/s OUT
##ctrl:ir=313&sr=757,677,569,449,313&mr=31,29,23,13,11&pr=
767&dl=normal&sttl=10y
result: avg <4 KiB/s IN, <4 KiB/s OUT
The latter resulted in a 75% reduction on BW IN and >50% on OUT from the default values. That's a keeper for me for now, unless I see some degradation of any search/browse functions or other delays in channel messaging.
Interestingly, changing the pr value from 47 to 767 had a very significant effect. I didn't experiment much with the mr values, only modified them to use prime numbers to avoid syncing peak BW effects.
The TLDR version:
I would hope to build on notaLamer's ideas...but I need more clarification on the settings.
The tixati support page provides some very brief descriptions:
Set the information broadcast rate (seconds/broadcast):
##ctrl:ir=15
Set the share broadcast rate (seconds/broadcast for normal,trusted,vip,star,mod+):
##ctrl:sr=40,30,20,15,12
Set the maximum broadcast rate (broadcasts/minute for normal,trusted,vip,star,mod+):
##ctrl:mr=30,30,20,10,10
Set the minimum broadcast rate (seconds/broadcast):
##ctrl:pr=50 (default is maximum of all "sr" parameters + 10 )
Ctrl directives can be combined on one line:
##ctrl:ir=15&sr=40,30,20,15,12&mr=30,30,20,10,10&pr=50&dl=normal
Set user cache lifetime (v2.89)
##ctrl:sttl=123
Set extra parameter (must be signed) created for a specific channel:
##extra:f82bx77h3hdniqmz883hs7bx8x
First, I'd like to address an apparent bug that has existed since at least v3.11 and continues through v3.19
When adding the Directives from the ADD+ menu, the following default line is added to the "Information" config tab:
ctrl:ir=15&sr=60,40,30,18&mr=30,30,20,10&pr=45&dl=normal&sttl=10y
Notice that only 4 values are provided for both sr= and mr=. The 5th value for MOD+ users is omitted. (A bug)
notaLamer makes I think a good point about selecting values for these various settings that if they are the same or multiples of another, they would sync and perhaps cause BW peaks.
Being pedantic, I think using unique prime numbers for all these settings would avoid that. I just have no idea how significant it is but it is worth considering. I modified all of the directive values to use prime numbers and tested that way.
As I manage several large channels on tixati, reducing the channel background bandwidth levels is important to me and I suspect many other users who might have low ISP limits also.
My hope is that one day
https://support.tixati.com/channel%20directives will be enhanced with more detailed, newbie friendly descriptions will be added for each of the settings.
Fantasy request:
When fixing the bug in the ADD Directives menu, might it be more optimal to add separate default value options for small, medium and large channels?
So for
information broadcast rate, which currently default to ir=15, what effect would setting it to 167 have? What benefits? What harms?
Who is re-broadcasting this "Information" data? All joined users? or only certain upper level users?
For the
share broadcast rates which default to sr=40,30,20,15,{12?}, what impact would setting these to something like sr=757,677,569,449,313 have? What benefits at what costs?
Also, what is this "share" data and which users are (re)broadcasting such share information? All users? The sharing user? Users of a certain level?
As to the
maximum broadcast rate default of mr=30,30,20,10,10, what data is being broadcast that is being controlled by this setting?
Am I understanding this that "Normal" level users can only broadcast whatever it is once in 30 minutes?
What are the benefits/costs for low versus higher intervals?
Next, what is this
minimum broadcast rate, "pr=50" "(default is maximum of all "sr" parameters + 10 )"
If unset in the config, and the highest sr is 757, would this then be auto-set internally to 767?
What does it do? What is the purpose? What effect would setting it to max sr+100 instead of 10?
Finally, the setting for user cache lifetime seems simple, the period of time each user's share information is kept in cache, so sttl=123 would mean 123 days after the user was last seen, their listing would disappear from search and browse results right?
But not so fast.. What the hell is this
extra parameter about? for???
extra:f82bx77h3hdniqmz883hs7bx8x looks rather cryptic to me, as if it is some hidden tag.
What is it and why is it in my channel config? I assume it has nothing to do with ID or tracking but I would like to know what it does, how it is used and how the value is created? Does a user enter their own values for this or what?
As noted, Ctrl directives can be combined on one line and for now, after just a little experimenting while in the dark as to the deeper implications of altering the default values, I settled on this config for all my channels, big and small:
##ctrl:ir=313&sr=757,677,569,449,313&mr=31,29,23,13,11&pr=[b]767&dl=normal&sttl=10y
On a very limited ISP line, I appreciate the >50% reduction in outgoing BW and the 75% reduction on incoming BW for the background channel functions.
I'd like to understand the settings more and experiment more but for now, That's All Folks!