Today we made presentation with 4 translators and 130 viewers.
We faced with problem, that in some seconds after connection - presenter disconnected.
In logs we foun error like:
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >' what(): eventfd_select_interrupter: Too many open files terminate called recursively
after googling we found that solution is in documentation:
1. Add or update the maximum numbers of open files to a large enough number by adding the following two lines to /etc/security/limits.conf:
* hard nofile 163840 * soft nofile 163840
2. Add or update the following lines to /etc/sysctl.conf:
fs.file-max=200000 net.core.rmem_max=16777216 net.core.wmem_max=16777216 net.core.rmem_default=16777216 net.core.wmem_default=16777216 net.ipv4.udp_mem = 4096 87380 16777216
3. Now run command /sbin/sysctl -p to activate the new configuration, or just restart your MCU machine.
Accroding with this we have questions:
1) how many files are opened per any connecting user
2) Where we can find them, and what does them mean?
3) How to decrease LOG level, because folder LOGS increases very fast, because of log level INFO and DEBUG.
4) What another actionc can we make to increase performance?
Our results for our test (4 presenters, 130 viewers in one room)
1.8% CPU usage, 150kb/s RX and 1-2MB TX
without mixing. I think - a good result.
Thanks a lot for the presentation try on MCU. Sound great!
The recommended steps are to increase the limit for number of files a process can opened, as well as the size of network cache. It is not only about the physical files from hard drive, but also includes the communication port resources opened on the MCU, e.t.c.
Regarding LOG level, refer to etc/mcu folder, and you will find the configuration there.
Another action? I think most of the general/common performance tuning enhancement on the server machine will benefit the scalability of your server.