基於ArcGIS的GIS應用服務平台效能調優

2022-10-18 00:36:04 字數 4691 閱讀 9708

張志強(天津中科遙感資訊科技****,天津,300384)

摘要:基於arcgis開發的webgis應用平台,其效能問題是衡量系統優越性的標準之一,所以需要通過多種手段調優系統,來保證系統的正常穩定執行。本文從多個角度調整gis應用服務平台,保證平台的正常執行。

關鍵詞:

webgis、arcgis、系統效能優化

傳統的gis系統多數以c/s結構開發建設,不能滿足gis網路化使用的需要。隨著webgis應用的展開,服務的效能正逐漸成為制約webgis發展的瓶頸。當前webgis實現方式主要有胖客戶端和瘦客戶端兩種方式。

在胖客戶端方式下,空間資料的繪製與操作是在客戶端進行的,而在瘦客戶端的方式下,客戶端看到的是伺服器端渲染好的某種格式的**,操作也是有伺服器端進行處理。這兩種方式都有各自的特點,但是考慮到實際運用中使用者體驗性和資料保密性等要求,一般採用瘦客戶端方式開發。

在實際工作中,由於資料量大、使用頻繁,平台的服務負載較為沉重,平台服務效能問題是制約平台建設的瓶頸問題,也是衡量平台建設的標準之一,應採用多種方式保證平台服務效能。

平台採用esri公司的arcgis 9.3系列軟體搭建,採用oracle 10g作為平台使用的資料庫系統。平台包括多層架構,系統總體結構從下到上主要分為網路層、資料層、功能層和應用層。

平台的調優可以從多個層次進行,包括資料層、功能層和應用層等。

文獻[1]研究了基於oracle和arcsde的空間資訊訪問的優化操作,分別從作業系統、記憶體、磁碟i/o等多方面進行了效能的改進和優化。其優化原則是將訪問頻繁的檔案分開放置到不同的硬碟上,降低磁碟i/o競爭。

在工作中,可以使用磁碟陣列的方式,將乙份檔案分割存於幾個硬碟上,提高磁碟吞吐量和速度,同時為表和索引建立不同的表空間,建立和調整arcsde的空間索引等方式對資料庫和arcsde進行效能優化。在系統執行期間,通過對儲存引數、記憶體使用引數等方面的處理,提高系統執行效能。

指在同一的空間參照下,根據使用者需要以不同解析度進行儲存與顯示,形成解析度由粗到細、資料量由小到大的金字塔結構。影像金字塔結構用於影象編碼和漸進式影象傳輸,是一種典型的分層資料結構形式,適合於柵格資料和影響資料的多解析度組織,也是一種柵格資料或影像資料的有失真壓縮方式。

在實際工作中,對於儲存在arcsde庫中的影像資料,製作多級金字塔結構可以加快不同比例尺下的資料讀取速度,同時,在建立影像金字塔結構式會採用壓縮演算法,並不會給實際運用帶來過大壓力,所以應建立影像金字塔以提高服務效能。

平台大體可以分成兩類服務:池化與非池化地圖服務。在so池化服務中,啟動需要花費大量的記憶體資源,隨著使用者不斷增加,記憶體耗用將不斷增大,而使用者退出系統不釋放instance與記憶體耗用,當記憶體或instance耗用達到極限時,so服務就崩潰,導致最終圖形瀏覽系統無法正常執行。

而在圖層管理、圖形編輯、圖形資料上傳、入庫、列印操作等都是非池化地圖服務方式,其記憶體耗用不大,使用者退出系統釋放instance,編輯與列印系統相對來說較為穩定。

針對這種問題,需要對於伺服器的部署進行詳細的設計,以解決伺服器負載問題。本系統使用arcgis server進行圖形服務的部署,arcgis server伺服器架構包括:

som——管理在唯一主機上的windows服務,用於管理分布在各個soc上的服務物件;

soc——可以裝在多台機器上,是服務物件的宿主。每一台soc機器可以產生多個container processes,乙個container processes可以執行多個服務物件,container processes 是由som來管理的。(每台soc機器都需要乙個授權檔案)

web application developer framework——runtime & software developer kit,runtime安裝在web sever機器上,sdk安裝在web application上。

平台把arcgis server應用進行分布式部署,由乙個som和多個soc組成,som起到負載均衡的作用,具體的請求由soc來完成。系統利用多台伺服器搭建,以滿足大使用者量的圖形服務需求,具體結構如圖所示:

圖 1圖形伺服器部署方案圖

gis伺服器本身包括兩個部分:分別是som與socs,乙個som和多個soc。系統工作流程為:

客戶端傳送請求到som,som將分配的資源提供給客戶端,通過som對soc進行排程與管理。

通過這樣的部署結構,可以有以下特點:

高可靠性(ha)。利用集群管理軟體,當主伺服器發生故障時,備份伺服器能夠自動接管主伺服器的工作,並及時切換過去,以實現對使用者的不間斷服務。

高效能計算(hp)。即充分利用集群中的每一台伺服器的資源,實現複雜運算的並行處理。

負載均衡。即把負載壓力根據某種演算法合理分配到急群眾的每一台伺服器上,以減輕主伺服器的壓力,降低對主伺服器的硬體和軟體要求。

通過對圖形伺服器的部署操作,使得大使用者量對於系統負載的壓力降低,可以滿足更大使用者量對於系統的圖形操作需求。[3]

為了保證使用者的體驗效果和伺服器的負載量較低,在地圖瀏覽等功能上採用地圖資料切片技術以保證效能和服務的高質量。地圖資料切片技術使用快取來顯著提公升系統效能和使用者體驗。

地圖快取包含了不同比例尺下整個地圖範圍的地圖切片的目錄,如圖所示,該影象包含了三個比例尺的**快取,這樣在伺服器響應客戶端的圖形請求時,不需要動態生成地圖**,而是將這些切片返回給客戶端。從快取中返回乙個切片遠比動態生成地圖要快很多。arcgis server web adf程式可以通過虛擬目錄來在地圖服務中使用切片快取。

圖 2地圖切片示意圖

系統採用快取地圖服務可以動態地改進客戶端用來顯示複雜的地圖所花費的時間,乙個客戶端使用快取地圖服務獲取和顯示地圖是僅僅是受到頻寬的限制,而這在區域網中,頻寬效能限制可以被忽略。所以由於地圖切片是事先生成的,而不需要動態繪製,因此在內網中使用地圖快取切片技術既可以保證地圖影象質量,又可以快速響應客戶端的地圖請求,從而顯著提公升系統效能。同時,快取地圖服務實用的伺服器資源遠少於動態地圖服務。

客戶端與伺服器初始連線後,一旦發現有快取結構的存在,就不再需要與伺服器打交道,而是直接從快取路徑中得到地圖切片。

arcgis系統提供了多種途徑來建立乙個快取地圖服務,arccatalog、arctoolbox、arcgis server adf或者arcengine api都可以建立快取地圖服務。所以,在系統中使用地圖快取切片技術簡單易行並且可以提高系統效能。

但是地圖切片技術也有自己的缺點,就是經常更換變動的系統服務和要進行應用處理的服務不能使用地圖切片技術提高系統效能。

定期性釋放伺服器記憶體,io資源,重啟so地圖服務,保證so服務instance數量、記憶體耗用水平回到最低水平。

同時,可以讓系統管理員設定系統維護伺服器的週期,維護的方式與維護的範圍,保持系統的正常有序的執行。

文獻[4]**了webgis系統的效能問題,有些是實際專案中需要遵守的,比如資料精簡化、座標系統問題、圖層細化顯示、按需載入等。

1、資料效能調優

在資料效能調優上,原則上儘量減少資料量的使用,按需使用資料。在arc sde中的資料,主要從兩個方面對於資料進行調整,乙個是屬性欄位的索引,另乙個是空間索引大小的調整。

屬性字段索引:特別是對於經常要進行搜尋的字段都要進行索引的建立。

空間索引大小的調整:索引大小會非常影像資料的瀏覽和空間查詢的速度。空間索引大小的調整依照資料的每個單元的大小而定,建立2級索引。[3]

2、服務效能調優

在服務效能調優上,如果乙個服務包含大量的圖層,並不把所有的圖層都放在乙個服務中,可以把圖層進行拆分,做成幾個服務,然後在服務應用中進行組合,這樣就可以使用多個進行來完成,從而減少系統處理時間。

同時,拆分可以使不同的使用者使用不同的服務,實現按需使用資料的原則。在服務設定方面,多設定服務的池化與快取服務,可以進一步提高速度。

3、調整服務例項

在平台實際執行過程中,需要根據每個服務的作用,訪問人數等情況,動態的修改每個服務的例項數。使得每個池化服務的例項數可以滿足服務執行的需要。同時,因為每個cpu的核心可以執行2-4個例項數,所以過多的服務例項會影響平台執行的效能。

4、採用適當的客戶端框架

flex框架可以合理分配負載,減輕伺服器壓力,反應速度快,其能力快速反應能力非常強,基於flex+rest的應用架構,rest負責將需要的資料傳回客戶端,壓力較大的渲染工作放到客戶端進行了,有效減輕了伺服器的壓力,使用者體驗更佳,視覺效果更好。

作為實際執行中的平台,我們可以從以下幾個方面進行系統效能的調整和優化:

1、 對於資料庫和arcsde進行優化;

2、 建立影像金字塔結構,提高影像的顯示速度;

3、 將伺服器進行分布式部署;

4、 建立伺服器端地圖快取,加快地圖讀取速度;

5、 定期進行系統維護;

6、 其他一些應注意的效能維護措施。

平台的效能調優是乙個綜合性的工作,需要有專門的人員對平台不斷進行維護和更新,在工作中不斷總結,不斷調整,使平台能夠正常執行。

參考文獻

[1] 趙村民,宋利好,趙曉民. 基於oracle與arcsde的空間資訊訪問優化[j]. 吉林大學學報,2004,22(3);283-288.

[2] 《oracle9i資料庫高階管理》,飛思科技產品研發中心編著,電子工業出版社

[3] 《web gis 開發—arcgis server與.net》,劉光,唐大仕編著,清華大學出版社

[4] baptista s, nunes c, sousa c p. on performance evaluation of web gis applications[c]//proc. of the 16th international workshop on database and expert systems applications.

copenhagen, denmark: ieee computer society,2005.

GIS與ArcGIS基礎與應用學習心得

acrgis基礎與應用 課程學習總結和心得 學院 農學院專業 農業資源與環境 姓名學號 年級 2009級任課教師目錄 一 前言3 二 學習總結4 三 學習心得6 前言這個學期,我們有幸接觸到了由esri公司開發的以acrgis軟體為操作代表的地理資訊系統 gis geographic informa...

基於ArcGIS的棋盤製作實習報告

上海師範大學地理資訊系統專業 棋盤製作實習報告 基於arcgis製圖 孫文軍2013 10 22 基於國際數棋的棋盤資料和arcgis的製圖功能,實現棋盤的製作和整飾。棋盤製作實習報告 孫文軍2013 10 15 一 實習目的 通過製作棋盤來熟悉arcgis 的製圖功能。二 實習步驟 1 選擇棋盤 ...

基於ArcGIS的煤礦塌陷土地損毀程度分析

摘要 土地損毀程度分析是土地復墾適宜性評價 復墾方向確定 復墾工程措施制定的重要前提。煤礦開採造成的損毀土地具有位置集中 涉及地類多 面積大等特點,因此,正確合理的土地損毀程度分析對於提高復墾質量具有重要意義。通過對土地復墾方案編制例項的研究表明,研究者利用arcgis軟體可以準確高效的獲取煤礦塌陷...