需求:
1. 头像上传、下载的功能测试
2. 头像上传、下载的压力测试
3. 墙纸图片上传、下载、删除的功能测试
4. 墙纸图片上传、下载、删除的压力测试
测试环境和步骤:
1.Linux服务器1台:xxxxx(运维提供正式服务器)
2.在linux服务器上部署好照片服务器(平台部署)
3.使用Jmeter工具进行压力测试
上传头像测试:
Jmeter创建线程组,线程数为500,循环次数为15
添加http请求
修改基本配置:
服务器IP/端口号
HTTP请求方法:POST、路径
添加csv文件路径:coupleid从提供的csv文件中获取
配置上传的图片附件:
下载头像:
具体操作如上传步骤,差异的地方:
下载需要增加参数,具体如下图
不需要配置附件图片文件的
测试结果1:
照片上传时服务器的id%(空闲cpu百分比)基本维持在1%左右,与上次的基本相同;照片下载时服务器的id%基本维持在40%-50%左右,明显比上次的值要高。
根据此次测试结果,这次提供的服务器性能明显比上次的测试服务器有所提高。
照片上传数据:
开启测试组数 | 并发数 | 循环次数 | 最大并发数(每秒) | 总请求次数 | 完成时间 | 平均错误率 | 服务器错误表现 |
1 | 200 | 5 | 200 | 1000 | 5s | 0.000% | |
1 | 200 | 10 | 200 | 2000 | 24s | 0.000% | |
1 | 200 | 15 | 200 | 3000 | 53s | 0.000% | |
2 | 200 | 5 | 400 | 2000 | 35s | 0.000% | |
2 | 200 | 10 | 400 | 4000 | 70s | 0.000% | |
2 | 200 | 15 | 400 | 6000 | 110s | 0.085% | HTTP/1.1 500 Internal Server Error |
2 | 400 | 5 | 800 | 4000 | 70s | 1.600% | HTTP/1.1 500 Internal Server Error |
2 | 400 | 10 | 800 | 8000 | 145s | 3.300% | HTTP/1.1 500 Internal Server Error |
2 | 400 | 15 | 800 | 12000 | 210s | 6.200% | HTTP/1.1 500 Internal Server Error |
照片下载数据:
开启测试组数 | 并发数 | 循环次数 | 最大并发数(每秒) | 总请求次数 | 完成时间 | 平均错误率 | 服务器错误表现 |
1 | 500 | 5 | 500 | 2500 | 18s | 0.000% | |
1 | 500 | 10 | 500 | 5000 | 41s | 0.000% | |
1 | 500 | 15 | 500 | 7500 | 34s | 0.000% | |
2 | 500 | 5 | 1000 | 5000 | 49s | 0.000% | |
2 | 500 | 10 | 1000 | 10000 | 90s | 0.040% | Response code: Non HTTP response code: org.apache.http.TruncatedChunkException Response message: Non HTTP response message: Truncated chunk ( expected size: 8192; actual size: 963) |
2 | 500 | 15 | 1000 | 15000 | 140s | 0.020% | Response code: Non HTTP response code: java.net.ConnectException Response message: Non HTTP response message: Connection timed out: connect |
3 | 500 | 5 | 1500 | 7500 | 54s | 0.030% | |
3 | 500 | 10 | 1500 | 15000 | 85s | 0.153% | |
3 | 500 | 15 | 1500 | 22500 | 160s | 0.070% | |
4 | 500 | 5 | 2000 | 10000 | 63s | 0.470% | |
4 | 500 | 10 | 2000 | 20000 | 195s | 0.745% | |
4 | 500 | 15 | 2000 | 30000 | 240s | 0.250% |
优化服务器后测试结果:
上传照片时,最大并发数(每秒)1000的时候才会出现错误率。对比之前的数据最大并发数(每秒)提高了600多。
下载照片时,数据与上次测试的结果基本差不多, 平均错误率基本维持1%左右的水平。
照片上传数据:
开启测试组数 | 并发数 | 循环次数 | 最大并发数(每秒) | 总请求次数 | 完成时间 | 平均错误率 | 服务器错误表现 |
1 | 400 | 5 | 400 | 2000 | 7s | 0.000% | |
1 | 400 | 10 | 400 | 4000 | 73s | 0.000% | |
1 | 400 | 15 | 400 | 6000 | 111s | 0.000% | |
2 | 400 | 5 | 800 | 4000 | 76s | 0.000% | |
2 | 400 | 10 | 800 | 8000 | 112s | 0.000% | |
2 | 400 | 15 | 800 | 12000 | 220s | 0.000% | |
2 | 500 | 5 | 1000 | 5000 | 92s | 0.000% | |
2 | 500 | 10 | 1000 | 10000 | 186s | 0.060% | HTTP/1.1 502 Bad Gateway |
2 | 500 | 15 | 1000 | 15000 | 279s | 0.200% | HTTP/1.1 502 Bad Gateway |
3 | 400 | 5 | 1200 | 6000 | 90s | 54.280% | HTTP/1.1 502 Bad Gateway |
3 | 400 | 10 | 1200 | 12000 | 没测试 | 没测试 | |
3 | 400 | 15 | 1200 | 18000 | 没测试 | 没测试 |
照片下载数据:
开启测试组数 | 并发数 | 循环次数 | 最大并发数(每秒) | 总请求次数 | 完成时间 | 平均错误率 | 服务器错误表现 |
2 | 500 | 5 | 1000 | 5000 | 12s | 0.000% | |
2 | 500 | 10 | 1000 | 10000 | 75s | 0.070% | Response code: Non HTTP response code: java.net.ConnectException Response message: Non HTTP response message: Connection timed out: connect |
2 | 500 | 15 | 1000 | 15000 | 158s | 0.045% | |
3 | 500 | 5 | 1500 | 7500 | 14s | 0.067% | |
3 | 500 | 10 | 1500 | 15000 | 74s | 0.067% | |
3 | 500 | 15 | 1500 | 22500 | 192s | 0.170% | |
4 | 500 | 5 | 2000 | 10000 | 32s | 0.070% | |
4 | 500 | 10 | 2000 | 20000 | 135s | 0.318% | |
4 | 500 | 15 | 2000 | 30000 | 253s | 0.240% |