最近一时感兴趣,想要测试一下GeoServer的并发性能,毕竟现在的GIS项目越来越需要考虑并发性能。一时兴起测试一下,非专业测试人员。如果产生错误还请原谅。
测试环境
硬件环境:
软件环境:GeoServer2.13.0(非服务方式安装),
测试工具:jmeter4.0
测试服务:WMS(实时计算与渲染的服务)
地图服务
使用水经注下载了一个4M左右的影像,在geoServer中发布
高并发测试设置
在GeoServer中分别设置GeoServer运行内存512M、1024M、2048M进行测试,对每种环境进行100-10000用户量的并发测试
512M并发测试
100用户量并发测试
平均响应时间0.667s
200用户量并发测试
平均响应时间1.689s,有点长了
500用户量并发测试
平均响应时间3.587s
1000用户量并发测试
平均响应时间13.914s
10000用户量并发测试
平均响应时间69.640s
1024M并发测试
100用户量并发测试
平均响应时间0.732s
平均响应时间2.447s
平均响应时间4.035s
平均响应时间9.154s
平均响应时间34.727s,错误率33%
2048M并发测试
2000用户量并发测试
平均响应时间11.922s
5000用户量并发测试
平均响应时间17.667s,错误率31%
平均响应时间24.05s,错误率48%
总结
- 普通PC版GeoServer(非服务形式安装)WMS地图服务只适合100左右的用户量
- 在超过2000以上的并发量时,GeoServer地图服务切片计算与渲染会产生各种错误
- 增大GeoServer运行内存,对于100、200左右的用户,会降低响应速度
- 增大GeoServer运行内存,对于1000以上并发量,会提升影响速度,尤其在测试中对10000作用十分明显,512M时响应时间为69s,1024M为34秒,响应时间直接降为50%