Shuffle workers to get routers on random cores. Increase routerScaleSize default to 40.

This commit is contained in:
Håvar Aambø Fosstveit
2020-05-05 09:48:26 +02:00
parent ee338accc8
commit e2421f094f
2 changed files with 9 additions and 4 deletions
+3 -2
View File
@@ -247,10 +247,11 @@ module.exports =
// When truthy, the room will be open to all users when as long as there
// are allready users in the room
activateOnHostJoin : true,
// When set, maxUsersPerRoom defines how many users can join a single room. If not set, there is not limit.
// When set, maxUsersPerRoom defines how many users can join
// a single room. If not set, there is no limit.
// maxUsersPerRoom : 20,
// Room size before spreading to new router
routerScaleSize : 20,
routerScaleSize : 40,
// Mediasoup settings
mediasoup :
{
+6 -2
View File
@@ -31,7 +31,7 @@ const permissionsFromRoles =
...config.permissionsFromRoles
};
const ROUTER_SCALE_SIZE = config.routerScaleSize || 20;
const ROUTER_SCALE_SIZE = config.routerScaleSize || 40;
class Room extends EventEmitter
{
@@ -48,6 +48,9 @@ class Room extends EventEmitter
{
logger.info('create() [roomId:"%s"]', roomId);
// Shuffle workers to get random cores
let shuffledWorkers = mediasoupWorkers.sort(() => Math.random() - 0.5);
// Router media codecs.
const mediaCodecs = config.mediasoup.router.mediaCodecs;
@@ -55,7 +58,7 @@ class Room extends EventEmitter
let firstRouter = null;
for (const worker of mediasoupWorkers)
for (const worker of shuffledWorkers)
{
const router = await worker.createRouter({ mediaCodecs });
@@ -74,6 +77,7 @@ class Room extends EventEmitter
});
firstRouter = null;
shuffledWorkers = null;
return new Room({ roomId, mediasoupRouters, audioLevelObserver });
}