最近写了几个测试脚本,希望要观察使用PUT方式上传文件和使用POST方式上传文件,两者效率的差别。
分别是:
put_client.php模拟客户端发送PUT请求
put_server.php接收客户端的PUT请求,并保存文件
post_client.php模拟客户端发送的POST请求
post_server.php接收客户端的POST请求,并保存文件
/Files/cocowool/code.zip
然后利用ab(ab是apache自带的一个性能测试工具)对客户端文件发起请求,来测试处理所消耗的时间。具体的测试场景设计了以下四组
1、使用PUT请求,改变并发的请求数。其中请求数设置为1000,并发数分别设置为2、5、10、30、50
2、使用POST请求,改变并发的请求数。其中请求数设置为1000,并发数分别设置为2、5、10、30、50
3、使用PUT请求,改变发送的文件大小。其中请求数设置为1000,并发数设置为30,文件大小分别为100、150、200
4、使用POST请求,改变发送文件大小。其中请求数设置为1000,并发数设置为30,文件大小分别为100、150、200。
每次实验前,关闭系统的其他程序,清空数据文件夹内的数据,重新启动Lamp。
实验环境:MacMC700、Apache2.2.6、PHP5.3.1
实验测试的结果:
1、不同并发状况下PUT的处理情况测试
结论:并发越大处理时间越长,个别请求因为负载问题造成处理时间超长。
2、不同并发状况下POST的处理情况测试
结论:并发越大处理时间越长。