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

auto_join_3.3
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

View File

@ -247,10 +247,11 @@ module.exports =
// When truthy, the room will be open to all users when as long as there // When truthy, the room will be open to all users when as long as there
// are allready users in the room // are allready users in the room
activateOnHostJoin : true, 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, // maxUsersPerRoom : 20,
// Room size before spreading to new router // Room size before spreading to new router
routerScaleSize : 20, routerScaleSize : 40,
// Mediasoup settings // Mediasoup settings
mediasoup : mediasoup :
{ {

View File

@ -31,7 +31,7 @@ const permissionsFromRoles =
...config.permissionsFromRoles ...config.permissionsFromRoles
}; };
const ROUTER_SCALE_SIZE = config.routerScaleSize || 20; const ROUTER_SCALE_SIZE = config.routerScaleSize || 40;
class Room extends EventEmitter class Room extends EventEmitter
{ {
@ -48,6 +48,9 @@ class Room extends EventEmitter
{ {
logger.info('create() [roomId:"%s"]', roomId); logger.info('create() [roomId:"%s"]', roomId);
// Shuffle workers to get random cores
let shuffledWorkers = mediasoupWorkers.sort(() => Math.random() - 0.5);
// Router media codecs. // Router media codecs.
const mediaCodecs = config.mediasoup.router.mediaCodecs; const mediaCodecs = config.mediasoup.router.mediaCodecs;
@ -55,7 +58,7 @@ class Room extends EventEmitter
let firstRouter = null; let firstRouter = null;
for (const worker of mediasoupWorkers) for (const worker of shuffledWorkers)
{ {
const router = await worker.createRouter({ mediaCodecs }); const router = await worker.createRouter({ mediaCodecs });
@ -74,6 +77,7 @@ class Room extends EventEmitter
}); });
firstRouter = null; firstRouter = null;
shuffledWorkers = null;
return new Room({ roomId, mediasoupRouters, audioLevelObserver }); return new Room({ roomId, mediasoupRouters, audioLevelObserver });
} }