理解kurento.conf.json文件参数

时间:2016-05-24 08:05:59

标签: kurento

有人可以解释我们在kurento.conf.json档案中的各种参数。

  • 尝试创建对象时引发异常的资源使用限制 "exceptionLimit": "0.8"但是我看到这个参数在配置文件中被注释,是否有任何理由被注释或者我们不应该使用它?

  • 没有对象存活时重新启动服务器的资源使用限制 "killLimit": "0.7"即使对此参数进行了注释,是否建议进行更改并使用此参数?

  • "garbageCollectorPeriod": 240,如果我们将此值从240更改为10-20秒,会有任何性能问题吗?

  • "threads": 10,根据我的理解,这些线程负责处理传入连接,因此建议将此线程数增加到更高的值,否则会造成严重的CPU使用?

PS:我曾尝试调整线程数和垃圾收集计数,但我没有观察到很多变化,可能是因为我无法在KMS上生成负载

2 个答案:

答案 0 :(得分:3)

.conf.json个文件中,一些参数被评论只是为了表明它们在那里并且可以使用,而其他参数则用于显示默认值。您可以取消注释以激活它们。

  • "exceptionLimit":当服务器负载为80%时,媒体服务器将引发异常。默认情况下,此功能处于活动状态,此处显示默认值。
  • "killLimit":这是一个安全功能,可以在没有媒体元素存活时检查机器的负载。如果资源高于限制,并且没有实例化对象,则停止媒体服务器实例。这是因为在某些情况下,当没有对象存活时,媒体服务器会占用资源。这个问题已经解决了,但这个功能只是为了以防万一。默认情况下它不活动。
  • "garbageCollectorPeriod":媒体元素保持活动状态的秒数,当它们绑定的websocket会话关闭时。这是为了防止您忘记释放管道,并且关闭连接到介质服务器的websocket。如果你整洁,你在这里看不出太大区别。
  • "threads":参加请求的线程数。这在极端负载情况下很重要,例如当许多用户同时加入一个房间时,他们都会同时请求新的端点。不太可能在这里看到很大的影响。

我不认为你会通过改变其中任何一个来看到巨大的差异,但在非常具体的情况下。

答案 1 :(得分:2)

  • "exceptionLimit":默认值已为0.8,因此如果您不更改该值,则对其进行评论或取消注释无效。此参数配置在创建新对象时引发异常之前可以使用的资源量。检查的资源是内存和线程,使用应用程序具有的限制。

  • "killLimit":如果配置中不存在,则禁用此项。如果已设置,如果资源超出限制,则在销毁所有对象时将终止mediaserver。这对于确保服务器没有泄漏内存或线程非常有用。

  • "garbageCollectorPeriod":您在此处设置的时间越短,cpu消耗就越高。不是CPU消耗的巨大增长,而是获得可能会延迟其他操作的关键区域。我从未将此设置为不到一分钟。

  • "threads":这是处理RPC的线程。媒体在自己的线程上处理。增加这个数字,如果你没有大量的请求,除了增加一个等待请求的线程池之外什么都不做。由于上下文切换,在进程上拥有大量线程会影响其性能。此外,进程可以使用的线程数量是有限的,因此如果您不需要将它们花在控件上,那么由于线程分类,媒体部分可能会失败。