doanquocnam
doanquocnam
I take a test that pushing 10 connections per second for each protocol RTMFP or RTMP until the full cpu to find out the limit. I am writting a live...
I write a simple echo UDP sever to take a benmark & stress test udp tranport. My simple udp echo server recv/sendto to 500 clients, each client has 3MB/s transfer,...
I've reduce the system call to sendmsg by using sendmmsg, reduce fragment from SendFrag, reduce call TCMessage::message in relayStreamMessage, ... and now the tcserver has decreased cpu usage 10-12% for...
I mean that, the SendFrag, TCMessage::message() call the same data. If you send to 1000 clients you will call constructor/destructor the TCMessage::message() 1000 times, the SendFrag also m_data(data, data +...
Maybe I was wrong that SendFrag, I mean it is m_send_queue is the same. In one for loop of onMessage (Video, Data, Audio) for(auto it = stream.m_subscribers.begin(); it != stream.m_subscribers.end();...
> again on my Macintosh (same run as above), most of the CPU time (11.4 seconds out of 21 seconds, 54%) is spent on the network sending side (in `Session::onInterfaceWritable()`...
I've just tested again, and average cpu usage is decreased about 10% but sometimes there is a burst overhead (in a short time) cpu get very high usage at this...
Good news! I've just improved sending by replacing `sendmsg` by `sendmmsg`. And now, cpu usage getdown so that I could 50% connecting rtmfp clients (tcconn). Of course this includes two...
> notice in PosixPlatformAdapter::notifyWhenInterfaceWritable() already it will attempt several write opportunities for each select() (or epoll() on Linux) wakeup. what should happen instead is the Platform Adapter should, when it...