[arm-allstar] theoretical maximum number of nodes on one system?
David McGough
kb4fxc at inttek.net
Tue May 30 15:30:55 EDT 2023
Hi Patrick,
There is a hard-maximum number of node definitions for each server in
HamVoIP. This number is currently 50. I've tested systems with this
number of nodes setup and it does work (or did work, last time I tested).
Note that the "optimum" configuration for large RPi load-balancing hubs is
usually 3 or 4 balancing nodes, which can support perhaps 120 direct
connections before some audio dropouts start occurring. Between about 130
and 160+ connections the audio quality becomes progressively worse with
dropouts. This is accompanied by a system CPU load average continuously
staying at or above 4.0, which is a clear indicator that the CPU is "out
of gas." Also, other factors contribute to the realistic maximum loading,
including running supermon/apache on the same server and/or having a large
number of AMI connections.
To optimally minimize the amount of asterisk processing/transcoding
overhead in this usage scenario, I'd recommend converting the files for
playback to the slin16 (aka: "slin" or "raw") format and place them on a
tmpfs filesystem (like /tmp).
BTW, some of the ECR guys are already cleanly breaking the newsline audio
into under 3 minute chunks, which is a requirement for playback over most
ham repeaters to avoid timeouts.
Sounds like a useful and fun project!
73, David K4FXC
On Sun, 28 May 2023, Patrick Perdue via ARM-allstar wrote:
> Greetings:
>
> I am thinking of trying an experiment, basically abusing the load
> balancing app.rpt code and dialplan logic of HamVoIP to host a highly
> customized dial-on-demand Amateur Radio Newsline node, which will, if it
> works the way I hope, allow for one of ten nodes to connect and get
> their own private connection, which will automatically spawn a heavily
> modified version of the playnews script that I am running on my system.
> Basically, each virtual node will allow only one connection, moving up
> to the next available node when another connection is made, but one
> public node number will be used to access this system. However, rather
> than creating a bridge, as would be the case with any normal node, you
> get isolated connections, one per node, which spawns a script on
> connect. If this works, then perhaps I will also do the same for ARRL
> newsline.
>
> This idea comes from the fact that, while it is very convenient, I've
> never liked the way the playnews script splits episodes of AR Newsline,
> so I took it upon myself to edit each episode into logical breakpoints,
> getting as much content within 3 minutes as possible, unless the three
> minute limit happens to fall at a bad place, at which point I break it
> up by story. To do this, I upload a bunch of ULAW files, and I rewrote
> part of the script to play each preprocessed clip in succession, along
> with a randomized set of announcements for breaks to keep it from
> sounding too stale. It's more work for me, as I have to edit every
> episode manually each week, though the process usually takes less than
> five minutes, but the presentation sounds much better, as I also do some
> pre-processing to each episode before uploading to insure that levels
> are a little more consistent, among other things.
>
> So, anyway, this begs the question, with each virtual node having it's
> own app.rpt thread, is there a known upper limit of nodes at which point
> things will fall over and break horribly on a Raspberry Pi 4 - 4GB
> running HamVoIP?
>
> I doubt that I'll ever get to the point where I have 10 or 20 nodes
> simultaneously streaming their own discrete versions of AR Newsline/ARRL
> news/whatever, and I don't know if this idea will even work quite the
> way I hope it does, but it's worth finding out, as I have been
> approached by a few different clubs about doing this after hearing how I
> present AR Newsline on the Blind Hams Network every Sunday at 3:00 PM
> Eastern. As it would be a lot of work to distribute my custom edits and
> scripts, I figure I could just make a dial-on-demand node do all the
> heavy lifting, and anyone who wants to use it can simply schedule a
> connect to that node. I thought about running all these nodes along-side
> an existing system, but it would probably be better to use a dedicated
> Raspberry Pi 4 for this purpose.
>
> Anyway, just another bunch of crazy ideas from me.
>
> 73
>
> N2DYI
>
> _______________________________________________
>
> ARM-allstar mailing list
> ARM-allstar at hamvoip.org
> http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar
>
> Visit the BBB and RPi2/3/4 web page - http://hamvoip.org
>
More information about the ARM-allstar
mailing list