mirror of
https://github.com/ossrs/srs.git
synced 2025-02-12 19:31:53 +00:00
slowdown the cpu usage for srs to calc connections when too many connections. 0.9.180
This commit is contained in:
parent
6539ce69f4
commit
15d4993cc3
4 changed files with 12 additions and 4 deletions
2
trunk/3rdparty/gprof/readme.txt
vendored
2
trunk/3rdparty/gprof/readme.txt
vendored
|
@ -14,7 +14,7 @@ gprof2dot.py:
|
|||
0. 若需要图形化,编译dot:
|
||||
cd 3rdparty/gprof && bash build_gprof2dot.sh
|
||||
1. srs配置时:
|
||||
./configure --with-pg
|
||||
./configure --with-gprof
|
||||
脚本会加入编译参数"-pg -lc_p",gcc -g -pg -lc_p -c xxx -o xxx.o,即在configure中打开 Performance="-pg -lc_p"
|
||||
链接时,加入链接选项"-pg",否则无法工作:gcc -pg -o srs xxxx.o,即在configure中打开 PerformanceLink="-pg"
|
||||
2. 编译和启动程序:make && ./objs/srs -c conf/srs.conf
|
||||
|
|
|
@ -90,7 +90,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
// update network devices info interval:
|
||||
// SRS_SYS_CYCLE_INTERVAL * SRS_SYS_NETWORK_RTMP_SERVER_RESOLUTION_TIMES
|
||||
#define SRS_SYS_NETWORK_RTMP_SERVER_RESOLUTION_TIMES 90
|
||||
#define SRS_SYS_NETWORK_RTMP_SERVER_RESOLUTION_TIMES 120
|
||||
|
||||
SrsListener::SrsListener(SrsServer* server, SrsListenerType type)
|
||||
{
|
||||
|
|
|
@ -833,10 +833,18 @@ void srs_update_rtmp_server(int nb_conn, SrsKbps* kbps)
|
|||
int nb_conn_sys_other = 0;
|
||||
|
||||
// @see: http://tester-higkoo.googlecode.com/svn-history/r14/trunk/Tools/iostat/iostat.c
|
||||
while (fgets(buf, sizeof(buf), f)) {
|
||||
for (int i = 0; fgets(buf, sizeof(buf), f); i++) {
|
||||
int st = 0;
|
||||
int ret = sscanf(buf, "%*s %*s %*s %2x\n", &st);
|
||||
|
||||
// there are maybe many many connections,
|
||||
// for example, when srs used for monitor other process,
|
||||
// like nginx, there are maybe many TIME_WAIT conections.
|
||||
// we sleep 1ms when read 1000 records, so 100ms for 10w connections.
|
||||
if ((i % 1000) == 0) {
|
||||
st_usleep(1000);
|
||||
}
|
||||
|
||||
if (ret == 1) {
|
||||
if (st == SYS_TCP_ESTABLISHED) {
|
||||
nb_conn_sys_established++;
|
||||
|
|
|
@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
// current release version
|
||||
#define VERSION_MAJOR "0"
|
||||
#define VERSION_MINOR "9"
|
||||
#define VERSION_REVISION "179"
|
||||
#define VERSION_REVISION "180"
|
||||
#define RTMP_SIG_SRS_VERSION VERSION_MAJOR"."VERSION_MINOR"."VERSION_REVISION
|
||||
// server info.
|
||||
#define RTMP_SIG_SRS_KEY "SRS"
|
||||
|
|
Loading…
Reference in a new issue