来源:深圳达内教育大数据培训机构
时间: 2023/9/26 17:09:09
深圳达内软件有限公司是亿元级外资IT培训集团达内旗下深圳分公司,达内是获得国际风险投资的IT培训机构。达内已经发展成为集培训、咨询、开发、人才服务于一体的高新技术集团公司,公司下设达内IT培训、达内软件人才服务中心、达内软件研发中心。
课程直切企业需求,培养全栈式测试人才
囊括企业级软件/大型网站/游戏开发/移动APP开发等多种软件测试需求
1.黑盒测试2.QTP3.接口测试4.LoadRunner5.JMeter6.Selenium7.手机测试8.游戏测试
学习测试工具,助你具备核心竞争力
打造符合企业用人需求的测试工程师
白盒测试工具
对代码进行分析,不需要运行代码,也不需要对代码编译链接,生成可执行文件。
黑盒测试工具
利用脚本的录制/回放,模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。
自动化测试工具
可以覆盖绝大多数的软件开发技术,简单,并具备测试用例可重用的特点。
性能测试工具
通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。
今天对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。