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