mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
For #307, for realtime, change wait messages from 0 to 2
This commit is contained in:
parent
03a03e4174
commit
fdc0c44b7e
5 changed files with 40 additions and 34 deletions
|
@ -680,6 +680,8 @@ srs_error_t SrsLiveStream::do_serve_http(ISrsHttpResponseWriter* w, ISrsHttpMess
|
|||
err = streaming_send_messages(enc, msgs.msgs, count);
|
||||
}
|
||||
|
||||
// TODO: FIXME: Update the stat.
|
||||
|
||||
// free the messages.
|
||||
for (int i = 0; i < count; i++) {
|
||||
SrsSharedPtrMessage* msg = msgs.msgs[i];
|
||||
|
|
|
@ -619,7 +619,7 @@ srs_error_t SrsRtcSenderThread::cycle()
|
|||
#ifdef SRS_PERF_QUEUE_COND_WAIT
|
||||
if (realtime) {
|
||||
// for realtime, min required msgs is 0, send when got one+ msgs.
|
||||
consumer->wait(0, mw_sleep);
|
||||
consumer->wait(SRS_PERF_MW_MIN_MSGS_FOR_RTC_REALTIME, mw_sleep);
|
||||
} else {
|
||||
// for no-realtime, got some msgs then send.
|
||||
consumer->wait(SRS_PERF_MW_MIN_MSGS_FOR_RTC, mw_sleep);
|
||||
|
|
|
@ -732,7 +732,7 @@ srs_error_t SrsRtmpConn::do_playing(SrsSource* source, SrsConsumer* consumer, Sr
|
|||
// @see https://github.com/ossrs/srs/issues/257
|
||||
if (realtime) {
|
||||
// for realtime, min required msgs is 0, send when got one+ msgs.
|
||||
consumer->wait(0, mw_sleep);
|
||||
consumer->wait(SRS_PERF_MW_MIN_MSGS_REALTIME, mw_sleep);
|
||||
} else {
|
||||
// for no-realtime, got some msgs then send.
|
||||
consumer->wait(SRS_PERF_MW_MIN_MSGS, mw_sleep);
|
||||
|
|
|
@ -588,31 +588,31 @@ srs_error_t SrsStatistic::dumps_clients(SrsJsonArray* arr, int start, int count)
|
|||
void SrsStatistic::perf_mw_on_msgs(int nb_msgs, int bytes_msgs, int nb_iovs)
|
||||
{
|
||||
// For perf msgs, the nb_msgs stat.
|
||||
// a: =1
|
||||
// b: <3
|
||||
// c: <6
|
||||
// d: <12
|
||||
// e: <128
|
||||
// f: <256
|
||||
// g: <512
|
||||
// h: <600
|
||||
// a: <3
|
||||
// b: <5
|
||||
// c: <9
|
||||
// d: <16
|
||||
// e: <32
|
||||
// f: <64
|
||||
// g: <128
|
||||
// h: <256
|
||||
// i: <1000
|
||||
// j: >=1000
|
||||
if (nb_msgs == 1) {
|
||||
if (nb_msgs < 3) {
|
||||
perf_msgs->a++;
|
||||
} else if (nb_msgs < 3) {
|
||||
} else if (nb_msgs < 5) {
|
||||
perf_msgs->b++;
|
||||
} else if (nb_msgs < 6) {
|
||||
} else if (nb_msgs < 9) {
|
||||
perf_msgs->c++;
|
||||
} else if (nb_msgs < 12) {
|
||||
} else if (nb_msgs < 16) {
|
||||
perf_msgs->d++;
|
||||
} else if (nb_msgs < 128) {
|
||||
} else if (nb_msgs < 32) {
|
||||
perf_msgs->e++;
|
||||
} else if (nb_msgs < 256) {
|
||||
} else if (nb_msgs < 64) {
|
||||
perf_msgs->f++;
|
||||
} else if (nb_msgs < 512) {
|
||||
} else if (nb_msgs < 128) {
|
||||
perf_msgs->g++;
|
||||
} else if (nb_msgs < 600) {
|
||||
} else if (nb_msgs < 256) {
|
||||
perf_msgs->h++;
|
||||
} else if (nb_msgs < 1000) {
|
||||
perf_msgs->i++;
|
||||
|
@ -663,24 +663,24 @@ srs_error_t SrsStatistic::dumps_perf_writev(SrsJsonObject* obj)
|
|||
obj->set("msgs", p);
|
||||
|
||||
// For perf msgs, the nb_msgs stat.
|
||||
// a: =1
|
||||
// b: <3
|
||||
// c: <6
|
||||
// d: <12
|
||||
// e: <128
|
||||
// f: <256
|
||||
// g: <512
|
||||
// h: <600
|
||||
// a: <3
|
||||
// b: <5
|
||||
// c: <9
|
||||
// d: <16
|
||||
// e: <32
|
||||
// f: <64
|
||||
// g: <128
|
||||
// h: <256
|
||||
// i: <1000
|
||||
// j: >=1000
|
||||
p->set("lt_2", SrsJsonAny::integer(perf_msgs->a));
|
||||
p->set("lt_3", SrsJsonAny::integer(perf_msgs->b));
|
||||
p->set("lt_6", SrsJsonAny::integer(perf_msgs->c));
|
||||
p->set("lt_12", SrsJsonAny::integer(perf_msgs->d));
|
||||
p->set("lt_128", SrsJsonAny::integer(perf_msgs->e));
|
||||
p->set("lt_256", SrsJsonAny::integer(perf_msgs->f));
|
||||
p->set("lt_512", SrsJsonAny::integer(perf_msgs->g));
|
||||
p->set("lt_600", SrsJsonAny::integer(perf_msgs->h));
|
||||
p->set("lt_3", SrsJsonAny::integer(perf_msgs->a));
|
||||
p->set("lt_5", SrsJsonAny::integer(perf_msgs->b));
|
||||
p->set("lt_9", SrsJsonAny::integer(perf_msgs->c));
|
||||
p->set("lt_16", SrsJsonAny::integer(perf_msgs->d));
|
||||
p->set("lt_32", SrsJsonAny::integer(perf_msgs->e));
|
||||
p->set("lt_64", SrsJsonAny::integer(perf_msgs->f));
|
||||
p->set("lt_128", SrsJsonAny::integer(perf_msgs->g));
|
||||
p->set("lt_256", SrsJsonAny::integer(perf_msgs->h));
|
||||
p->set("lt_1000", SrsJsonAny::integer(perf_msgs->i));
|
||||
p->set("gt_1000", SrsJsonAny::integer(perf_msgs->j));
|
||||
}
|
||||
|
|
|
@ -127,8 +127,12 @@
|
|||
*/
|
||||
#define SRS_PERF_QUEUE_COND_WAIT
|
||||
#ifdef SRS_PERF_QUEUE_COND_WAIT
|
||||
// For RTMP, use larger wait queue.
|
||||
#define SRS_PERF_MW_MIN_MSGS 8
|
||||
#define SRS_PERF_MW_MIN_MSGS_REALTIME 4
|
||||
// For RTC, use smaller wait queue.
|
||||
#define SRS_PERF_MW_MIN_MSGS_FOR_RTC 4
|
||||
#define SRS_PERF_MW_MIN_MSGS_FOR_RTC_REALTIME 2
|
||||
#endif
|
||||
/**
|
||||
* the default value of vhost for
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue