俞亮++周吉金
摘 要:ArcGIS Server是一個用來構建集中管理、支持多用戶的企業(yè)級GIS應用平臺。由核心的ArcObjects構建,是對ESRI其他兩個應用服務器ArcSDE和ArcIMS的一個補充。數字城市地理信息公共服務平臺利用AGS提供的地圖服務發(fā)布和管理功能,實現了海量空間數據的處理、發(fā)布、分享、管理業(yè)務。ArcGIS Server的性能直接影響公共服務平臺的使用性能。影響ArcGIS Server地圖服務性能的因素有很多,該文通過優(yōu)化配置服務參數、調整地圖數據顯示、優(yōu)化地圖文檔結構等多種手段對ArcGIS Server的地圖服務進行優(yōu)化,可以大幅提高地圖服務的訪問性能。
關鍵詞:ArcGIS Server 地圖服務 性能優(yōu)化 地圖緩存
中圖分類號:TP31 文獻標識碼:A 文章編號:1672-3791(2015)03(b)-0018-02
隨著數字城市建設的不斷加快,越來越多的行業(yè)部門的應用系統(tǒng)通過調用數字城市地理信息公共服務平臺提供的基于ArcGIS Server平臺發(fā)布的地圖服務實現了和數字城市的對接。應用系統(tǒng)用戶數量的不斷增加,公共服務平臺的地圖服務負載壓力越來越大,地圖瀏覽速度逐漸變慢、數據查詢性能降低。為了提高地圖服務的性能,筆者通過多種手段對地圖服務進行優(yōu)化,在一定程度上提高了地圖訪問速度。根據實踐經驗,該文作者對一些優(yōu)化策略進行了歸納,和大家一起分析探討。
1 影響ArcGIS Server地圖服務性能的幾個因素
影響ArcGIS Server地圖服務性能的因素有很多,主要有以下幾個因素。
1.1 硬件環(huán)境
數字城市提供的地圖服務用戶量大,使用頻率高,業(yè)務依賴性大,不可避免地會對服務運行性能帶來影響,良好的硬件環(huán)境是解決系統(tǒng)運行性能問題的基礎。
1.2 網絡環(huán)境
數字城市提供的地圖服務運行在政務外網,網絡環(huán)境對服務性能影響很大,增加網絡帶寬能夠有效提高服務訪問速度。
1.3 部署方式
ArcGIS Server的部署方式和參數配置也會影響系統(tǒng)的性能。根據服務使用頻率和性能要求,可以選擇采用單層架構、2層架構、3層架構等不同的集群架構。
1.4 數據性能
地圖服務背后的數據以及地圖文檔也是影響地圖服務性能的一個關鍵因素,可以通過多種方式優(yōu)化數據源和地圖文檔組織方式,提高地圖服務性能。
2 地圖服務性能優(yōu)化
作者以數字城市地理信息公共服務平臺發(fā)布的地圖服務為例,整理了一些地圖服務優(yōu)化的策略。
2.1 數據源優(yōu)化
數字城市地理信息公共服務平臺的地圖服務常用的數據類型有兩種:矢量數據和柵格數據;數據的存儲方式一般包括文件存儲(Shape\Image\Grid)、FileGDB、ArcSDE三種方式。不同的存儲方式對WMS服務的性能影響各不相同。表1是低復雜度的WMS服務采用不同數據源時的出圖效率,單位:kb/S。表2是低復雜度的WMS服務采用不同數據源時的矢量查詢效率,單位:TPS。表3是高復雜度的WMS服務采用本地數據和網絡共享數據(UNC)時的出圖效率,單位:kb/S。
通過表1、表2、表3可以清楚發(fā)現以下幾點。
(1)地圖服務采用FileGDB作為數據源,出圖性能較好。
(2)地圖服務采用ArcSDE+PostgreSQL時查詢效率最高。這是由于關系型數據庫內部優(yōu)化查詢效率的結果。
(3)地圖服務采用本地數據時的性能明顯強于采用UNC路徑的數據。
2.2 地圖文檔優(yōu)化
地圖服務在發(fā)布之前,需要在ArcMap中對數據做一系列的優(yōu)化,如整理圖層、整理屬性字段、比例尺控制、符號渲染等。對地圖文檔進行合理的優(yōu)化,能有效提高地圖服務的訪問速度。
2.2.1 圖層整理
在一個地圖文檔中圖層數量的多少將會影響到地圖服務的訪問速度,在組織圖層結構時,根據應用需要刪除不必要的圖層,并對點、線、面圖層進行合理的合并處理,減少圖層數據量。如果地圖服務需要在多級比例尺下顯示,那么利用分辨率來組織圖層組,一個圖層組代表一種分辨率,在其下面只包含在該分辨率下顯示的圖層。
2.2.2 屬性整理
組織圖層時,由于圖層對應的數據源并沒有經過顯示優(yōu)化,數據中包含了一些冗余的或是與業(yè)務應用無關的屬性字段或記錄。在發(fā)布服務之前,將這些不重要的、多余的字段和記錄刪除,可以提高地圖查詢效率。譬如,對一些只要求具備空間圖形信息的圖層,可以將其所有屬性字段都刪除,只保留“FID”、“LENGHT”、“Shape*”等圖形字段。
2.2.3 地圖渲染
WMS服務的出圖效率和地圖文檔的地圖渲染效果有直接關系。在制作地圖文檔時,對于地圖中的點、線、面要素應避免復雜的渲染效果,盡量越簡單越好。在地圖渲染時,應注意幾個方面。
(1)點的Symbol盡量使用簡單符號和字符型符號,如圓點、方形、三角形等符號,用實色填充,避免使用位圖符號、Halo和Mask效果。在設置符號化時,使用整型字段作為符號值,提高符號化效率。
(2)線的Symbol盡量使用簡單的線型,不要使用3D類型的線型,寬度在滿足視覺要求的情況下越小越好。面的Symbol最好選用無邊框、無花紋、實色填充的符號,建議采用ESRI_Optimized符號,盡量少用復雜的填充圖案和3D類的面符號,避免使用位圖填充。
(3)地圖圖層盡量不使用Labels(標注),使用Annotation(注記)代替。如果確實需要Labels時,在字體Symbol的選擇中,盡量不選帶陰影和背景色的字體,不選加粗和加下劃線。建議根據需要,通過Label Expression選擇比較重要的要素顯示Labels,以減少Labels的數量。
(4)地圖文檔中所有數據都采用相同的空間參考,避免進行地圖動態(tài)投影。
(5)地圖文檔中的數據進行空間圖形簡化處理(Simplify)。
2.3 服務發(fā)布設置
從ArcGIS9.3.1開始,ESRI推出了地圖服務定義文件(MSD),基于MSD發(fā)布的地圖服務使用一種快速的繪制引擎,其地圖服務性能比MXD文件更優(yōu)秀。表4是基于MXD和MSD兩種地圖文檔的WMS動態(tài)繪圖響應數據,單位:s。表5是基于MXD和MSD的緩存瓦片生成性能(數據面積約80km2,按1:18056、1:9028、1:4514三種比例尺切圖,瓦片大小256×256,格式PNG24),單位:秒。
通過表4、表5可以發(fā)現以下幾點。
(1)基于MSD方式的地圖服務在放大、縮小和漫游操作中平均響應性能比基于MXD方式提高比例分別為:42.77%、37.6%和41.05%。
(2)基于MSD地圖服務緩存切片的生成效率相較于MXD提高比例為7.71%。
同時,基于MSD的地圖服務還對線性光滑和字體邊緣增加了反鋸齒處理,并可同時應用于動態(tài)繪制和混村瓦片繪制。
2.4 配置參數優(yōu)化
合理設置ArcGIS Server的服務參數能夠有效的提高地圖服務的性能。
(1)采用池化服務,將服務對象放在對象池中,有效降低了服務請求時創(chuàng)建對象的時間成本,提供了更好的伸縮性。
(2)采用高隔離設置,讓每個Service實例都運行在一個ArcSOC.exe進程中,滿足響應時間短,吞吐量高的要求。同時,當進程失敗時,只會影響一個實例。表6是不同隔離機制時的性能數據,高隔離的性能優(yōu)勢比較明顯。
(3)合理設置服務的實例數。實例數太多會導致服務爭搶CPU資源,實例數太少會降低服務創(chuàng)建效率,增加響應時間。表7是不同數據源類型性能峰值時每個CPU核配置的實例數。
3 結語
地圖服務的訪問速度和性能是制約數字城市地理信息公共服務平臺推廣應用的一個方面,該文基于ArcGIS Server應用平臺,以地圖服務為例,介紹了一些在日常使用中總結整理的優(yōu)化方法,供大家參考。
參考文獻
[1] 張黎娜.基于ArcSDE的空間數據庫性能優(yōu)化技術研究[D].合肥:安徽大學,2014.
[2] 趙陽.地理信息公共服務平臺集群架構的研究與設計[D].昆明:昆明理工大學,2013.
[3] 陳昕,張紅軍,戴亮亮,等.基于MSD地圖服務性能和應用策略研究[J].現代測繪,2010(11).
[4] 王星捷,楊森.ArcGIS Server分布式技術實現與優(yōu)化[J].計算機工程與設計,2012(9).
[5] 張立朝,潘貞,鄭海鷹,等,分布式AGS的性能優(yōu)化研究[J].測繪科學,2008(4):187-189.
[6] 宋麗,梁東業(yè),魏顯棟.ArcGIS Server應用開發(fā)中的數據優(yōu)化策略[J].長江科學院院報,2010(1):42-44.