News:

Precision Simulator update 10.173 (24 February 2024) is now available.
Navburo update 13 (23 November 2022) is now available.
NG FMC and More is released.

Main Menu

Hoppie's ACARS popularity and performance

Started by Jeroen Hoppenbrouwers, Sun, 22 May 2022 23:27

Jeroen Hoppenbrouwers

As many of you know, what started 20 years ago as a hacky gimmick for WorldFlight accidentally became the mainstay ACARS transport backhaul for the flight sim community. Now the USA is rolling out CPDLC (Europe has had it for a few years) many people are interested in going text. Ironically when I introduced CPDLC 15 years ago, everybody was fighting to move from chat mode ATC to voice mode (RogerWilco!) and people thought I was crazy. Har har.

Several external add-on providers (for MSFS and friends, not PSX) have now integrated an ACARS and CPDLC client into their offerings, and this leads to an explosive growth of users. I currently have over 13000 active users on this system. Today it exceeded 700 connections at the same time.

Having been developed 20 years ago for essentially five aircraft, this went surprisingly well.

But I started getting emails from people who experience intermittent connectivity. That is no real issue (hey, the real world ACARS also has traffic jams all over the place, and VHF isn't that robust) but it "should" not happen.

After some searching I found out what the problem was: I had set the keepalive to one second, assuming that I would not get more than about 50 single pings per second. But I get more, as many ACARS users ping the server significantly more often than once a minute, which is what I had programmed in the beginning. In Twitter times, people want /instant/ ACARS, all reality be damned. So my server was spending most of its time waiting for those one second keepalives, which burns little CPU so I did not notice what was going on. A large backlog of connection attempts built up and people had to wait in line for many seconds before they got their one second of fame.

Once I switched the complete keepalive off, thereby immediately disconnecting the client connection and opening the window for the next client, the load literally collapsed and it's now not 70, but 10 connections at the same time.

Of course at the expense of actually burning CPU. Now around 70%.

I will have to see what happens when the whole herd comes back during rush hour.

At least I now know that finally after 20 years the user base is significant   :-D


Hoppie

cavaricooper

Hoppie- yours is a household name in the Sim community... our collective gratitude may be better expressed via a Go Fund Me page for additional backbone.

PS1, PSX, FSL & Fenix along with VATSIM adoption have solidified your position and I hope we can give back a little each, and a lot collectively. Should you be hesitant to self promote, I'd be happy to get things started.

Ta- C
Carl Avari-Cooper, KTPA

Captain_Crow

I am in for donate for new hardware Hoppie...
Best
Steff

Jeroen Hoppenbrouwers

Update.

I contacted a few of the developers of recent software that got popular and together we reduced the load on the single server simply by reducing the blind polling frequency of each airplane. It is now recommended to poll at a random interval between 45 and 75 seconds when you are just flying along, and increase this polling to once per 30 seconds for a little while after you actually started sending or receiving messages. This maintains snappy response when you need it and enormously reduces the idle load on the system.

The thing, unchanged, now pulls 700+ users with not even 50% load and just 8 of the 40 workers active.

I have now more than 15,000 registered users that accessed the system at least once in the last three months. I expect this number to go down a bit, as a few thousand people registered when they got their new aircraft software but probably did not really understand what ACARS is all about. I see many planes online without even making one request.

Still, not bad for a 20-year old system.

https://www.hoppie.nl/acars/system/log.html


Hoppie

PS. There is a "buy Hoppie a coffee" link on that page  :-)