mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
for bug #194, add the send macro to performance.
This commit is contained in:
parent
60bc9c2aa0
commit
90992b31a3
2 changed files with 15 additions and 2 deletions
|
@ -49,6 +49,7 @@ using namespace std;
|
||||||
#include <srs_protocol_msg_array.hpp>
|
#include <srs_protocol_msg_array.hpp>
|
||||||
#include <srs_protocol_amf0.hpp>
|
#include <srs_protocol_amf0.hpp>
|
||||||
#include <srs_app_recv_thread.hpp>
|
#include <srs_app_recv_thread.hpp>
|
||||||
|
#include <srs_core_performance.hpp>
|
||||||
|
|
||||||
// when stream is busy, for example, streaming is already
|
// when stream is busy, for example, streaming is already
|
||||||
// publishing, when a new client to request to publish,
|
// publishing, when a new client to request to publish,
|
||||||
|
@ -591,7 +592,7 @@ int SrsRtmpConn::do_playing(SrsSource* source, SrsQueueRecvThread* trd)
|
||||||
// no message to send, sleep a while.
|
// no message to send, sleep a while.
|
||||||
if (count <= 0) {
|
if (count <= 0) {
|
||||||
srs_verbose("sleep for no messages to send");
|
srs_verbose("sleep for no messages to send");
|
||||||
st_usleep(SRS_CONSTS_RTMP_PULSE_TIMEOUT_US);
|
st_usleep(SRS_PERF_SEND_MSGS_CACHE * 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
// reportable
|
// reportable
|
||||||
|
|
|
@ -64,8 +64,20 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
* buffer=65536B, small=4096B, sleep=780ms
|
* buffer=65536B, small=4096B, sleep=780ms
|
||||||
* that is, when got nread bytes smaller than 4KB, sleep(780ms).
|
* that is, when got nread bytes smaller than 4KB, sleep(780ms).
|
||||||
*/
|
*/
|
||||||
#define SRS_PERF_MERGED_READ
|
|
||||||
#undef SRS_PERF_MERGED_READ
|
#undef SRS_PERF_MERGED_READ
|
||||||
|
#define SRS_PERF_MERGED_READ
|
||||||
|
|
||||||
|
/**
|
||||||
|
* the send cache time in ms.
|
||||||
|
* to improve send performance, cache msgs and send in a time.
|
||||||
|
* for example, cache 500ms videos and audios, then convert all these
|
||||||
|
* msgs to iovecs, finally use writev to send.
|
||||||
|
* @remark this largely improve performance, from 3.5k+ to 7.5k+.
|
||||||
|
* the latency+ when cache+.
|
||||||
|
* @remark the socket send buffer default to 185KB, it large enough.
|
||||||
|
* @see https://github.com/winlinvip/simple-rtmp-server/issues/194
|
||||||
|
*/
|
||||||
|
#define SRS_PERF_SEND_MSGS_CACHE 500
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue