性能测试在软件测试中的位置,性能测试的响应时间,你真的算对了吗?
今天對nginx的accesslog中響應時間進行性能測試時,發現有個接口,直接返回數據,平均的響應時間也比較大。網上查了下,原來log中用的響應時間是$request_time,它包含了用戶數據接收時間,而真正程序的響應時間應該用$upstream_response_time。
下面介紹下2者的差別:
1、request_time
官網描述:request processing time in seconds with a milliseconds resolution;
time elapsed between the first bytes were read from the client and the log write
after the last bytes were sent to the client 。
指的就是從接受用戶請求的第一個字節到發送完響應數據的時間,即包括接收請求數據時間、程序響應時間、輸出響應數據時間。
2、upstream_response_time
官網描述:keeps times of responses obtained from upstream servers; times are
kept in seconds with a milliseconds resolution. Several response times are
separated by commas and colons like addresses in the $upstream_addr variable
是指從Nginx向后端(php-cgi)建立連接開始到接受完數據然后關閉連接為止的時間。
從上面的描述可以看出,$request_time肯定比$upstream_response_time值大,特別是使用POST方式傳遞參數時,因為Nginx會把request
body緩存住,接受完畢后才會把數據一起發給后端。所以如果用戶網絡較差,或者傳遞數據較大時,$request_time會比$upstream_response_time大很多。
注意事項
所以如果使用nginx的accesslog查看php程序中哪些接口比較慢的話,記得在log_format中加入$upstream_response_time。
總結
以上是生活随笔為你收集整理的性能测试在软件测试中的位置,性能测试的响应时间,你真的算对了吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pythonplot绘图xrd_一种简化
- 下一篇: eq linux_音乐家和音乐爱好者的开