strace可以帮助你打印函数执行时间,帮助你查看程序消耗,针对于复杂的工作进程例如nginx或者janus,我暂且没有尝试,但是对复杂程序性能调整作用不大。
遇到复杂程序你可以考虑valgrind –tool=callgrind工具
http://valgrind.org/docs/manual/cl-manual.html#cl-manual.options.separation
服务端程序执行
1 | [root@localhost ~]# ./server |
客户端程序执行
1 | [root@localhost ~]# ./client |
打印用户程序调用时间
查找进程id
1 | [root@localhost ~]# ps aux|grep server |
strace跟踪应用程序打印出应用程序调用时间
1 | [root@localhost ~]# strace -o server.strace -Ttt -p 1636 |
查看函数结果
1 | [root@localhost ~]# cat server.strace |
结果分析
如上得知07:35:30.087112 nanosleep({1, 0}, 0x7fff50f89b90) = 0 \<1.000453> 耗费了1.000453 s时间
服务端程序
1 | [root@localhost ~]# cat server.c |
客户端程序
1 | [root@localhost ~]# cat client.c |