This week, we got a bunch more interesting updates to the code base. Along with many more bug fixes, one feature request that was made on GitHub was to allow devices to be switched between device groups. In addition, MeshCentral is getting deployed a bunch more and so, work has been put in to optimize the MongoDB queries and indexes. Starting testing many 1000’s of connections to MeshCentral on relatively small cloud instances. So far, it seems an instance at 30$/month plus traffic costs will host a MeshCentral instance that will handle 10000+ agents. Lastly, started writing MeshCentral install scripts for various cloud provider instances so you can install MeshCentral easily in a few minutes. In details:
- Move devices between groups. Device groups are built to apply the same policy to set of user permissions to a group of devices. In the past a device would join a group at install time and this group could not be changed. This caused issues because administrators did not have the flexibility to grant or remote user access to various devices or to move a device to a different group if the role of this device changes. This is now solved. Administrators can switch a device to a different group, one at a time or by selecting many and doing a batch move.
- MongoDB performance tuning. At the start of last week, MeshCentral was very poorly tuned for MongoDB. No scale testing had been done and so, as the database grow in size, the query response time would give worst very rapidly. After 3 new improvements, new collections and indexes have been created and use of expiration indexes and query changes have been made to insure high server performance on even small server instances.
- MeshCentral instance cost. In the last few weeks MeshCentral has been tested on a few Amazon AWS EC2 instance. As it happens, even very modest 30$/month + traffic code Amazon Linux 2 instances using MongoDB can handle 10000+ connected devices easily. The MongoDB performance improvements have done a lot to make this happen. As a result, MeshCentral instance installation cost is really low. You can even start as low as 3.75$/mo and manage 100 devices. This makes it very affordable.
- MeshCentral quick install scripts. To get started with MeshCentral, there is a installer’s guide and a user’s guide. In the latest version of the installer’s guide v0.0.6 there is now a quick start section where you can download an install script, run it and have a MeshCentral instance running in a few minutes in the cloud. The scripts will install NodeJS, MongoDB (optionally), MeshCentral and setup permissions and configuration files. Right now, there is three scripts: Amazon Linux 2 with MongoDB (100+ devices), Amazon Linux 2 with NeDB (for less than 100 devices) and Microsoft Azure B1s instance (100+ devices).
This is just some of the changes and improvements done to MeshCentral this week. As usual, feedback is appreciated.
You can now move devices between device groups. Most one at a time or select a bunch and do a batch move. Allows administrator to arrange devices as they see fit. This may also change what device each of the web site user’s will see.
A lot has been done to improve MongoDB performance. Last week, MeshCentral had terrible indexes and response performance. After 3 updates, performance is many orders of magnitude better. MongoDB 4.x has a free website for performance tracking that helped a lot.
MeshCentral is being tested on Amazon AWS t3.nano to t3.medium instances. These range from 3.75$/mo to 30$/mo + traffic cost. So far, the server can handle between 100 and over 10000 agent connections on these instances.