In the long run, once I've sold plenty, I'm sure that the answer is dedicated FreeBSD servers. But in the meantime . . .
I need to run a very lightly loaded (< 1 qps) postgresSQL server (9.5+) which only talks to a custom program running on the server, which talks to the ports.
mySQL is absolutely, categorically, non-negitiably not an option for this for a variety of reasons that I won't go into here.
The tables are very small. For each "debtor" instance for the user, there a few hundred (more than 500, less than 1000) rows, with a few columns each. On user launch on a desktop, pretty much the entire table gets read (it's actually full of SQLite commands), after which it is checked periodically for changes.
From time to time the desktop application sends an update for any changed entires, and the server application sends back any other changes that have accumulated, as well as propagating the changes to any other users connected using the same debtor.
Most of the time, it will be sleeping, waiting for the next query.
The quirk is that for performance reasons, I do seem to need to leave the database connection open, as the query takes ~1ms, while opening a connection appears to be ~100ms.
Am I going to need a VPS, or is this something I can do with Dreamcompute until the load is enough to worry about?
And can an instance be launched and stick around (minutes, ours) simply by a user attempting to access the port, or does it need to "stay" on and wait?
I assume the time calculations for billing are clock time, not cpu time?
And I'm not clear whether I need to upload the whole server image when I turn it on and download before turning off, or does it stick around stored while not running?