简单易用的性能分析方法
导读:
随着互联网技术的快速发展,丰富的GIS能力逐渐在WebGIS系统中得到应用,那么WebGIS系统处理GIS数据和功能的性能如何呢? 在日常的开发和运维工作中,除了一些高大上、门槛高的测试工具(如LoadRunner),我们是否可以通过一些简单易用的方法对WebGIS系统的性能做出合理的评估呢?
概述:
在WebGIS系统中,GIS服务器(如SuperMap iServer)和WebGIS客户端(通过SuperMap iClient构建的应用系统)所处的角色和任务的不同导致了其性能测试方法和关注点存在较大差异。
下面就给大家分别介绍针对GIS服务器和WebGIS客户端的简单易用的性能分析方法。
一、 WebGIS客户端测试方法(以SuperMap iClient为例)
WebGIS客户端作为用户访问窗口,主要负责发出数据和地图请求、数据和瓦片下载、地图渲染等任务。这部分性能测试可以通过Chrome浏览器的开发者工具来实现,它可以很方便地监控客户端在一个完整的GIS服务流程中的不同阶段、不同任务资源的耗时情况。其使用方法如下:
1.在Chrome浏览器中,按下F12即可以快速调出开发者工具面板。在测试之前,推荐将本地缓存关闭,以避免本地缓存文件,对我们的测试结果造成影响。
2.Network面板可以记录当前页面上网络请求的详细信息(包括状态、资源类型、大小、所用时间、Request和Response等),通过这些信息,可以分析当前网页耗时占比和性能瓶颈,对客户端进行调优。
Network面板主要由以下五个窗块构成:
Controls窗块,提供Network面板的功能和外观控制选项。
Filters窗块,提供网络请求类型筛选功能。
Overview窗块,显示网络请求的时间轴信息。
Requests Table 网络请求列表和详细资源信息。
Summary 显示总的请求数、数据传输量、加载时间信息等。
例如,查询iServer提供的地图服务页面加载时utf属性瓦片的网络请求详细信息。
3.Performance面板着重监控客户端页面实现过程中各种资源的耗费情况,分析客户端各阶段不同类型工作的耗费权重。
从Performance面板中,我们可以获取在整个Rest地图服务页面渲染过程中:FPS、CPU、NET的资源使用状态、地图页面渲染快照、代码的执行消耗时间、显卡负载情况、客户端页面工作分类耗时统计。
二、 GIS服务器监控方法(以SuperMap iServer为例)
GIS服务器作为请求处理和应用分析核心,主要负责接收客户端数据和地图请求,执行GIS功能分析,打包及发送结果数据。以Linux平台为例,通过一些系统资源监控命令,可以快速地查询和保存在服务器运行过程中SuperMap iServer对服务器硬件的使用情况。下面为大家提供几个常用的Linux监控命令:
1. top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。
例如:需要在SuperMap iSevrer提供服务时,同步地监控系统整体和核心SuperMap iServer的资源监控情况。那么就可以先查询出SuperMap iServer的PID,然后利用top命令同步监控系统整体和iServer核心进程资源占用情况。
2. pidstat命令一般用于监视当前正在由Linux内核管理的各个任务,其对核心进程或进程组的针对性比较高。
例如:服务器中部署了多项服务,但是我们仅关心SuperMap iServer服务占用硬件资源的情况,那么就可以先查询出iServer的PID,然后利用pidstat命令针对该PID进行资源占用的监控。
当然,Linux的系统资源监控命令还有很多,每一个都有其独有的优势和使用场景,例如:sar命令可以针对性的对系统资源中的某一类(CPU使用类或内存占用类等)进行监控,并将监控结果同步保存至文本,方便后期的数据收集和处理。nmon工具是一款强大的Linux资源监控软件,可以从多方位的监控服务器各项资源利用情况,并支持一键化的生成专业的监控图表,等等。我们需要根据自己实际的服务器部署情况和测试需求来选择最合适的监控命令或命令组合。