하나 또는 여러 서비스에 많은 계층이 있습니까? (그리고 왜)


13

어떻게해야하는지에 대한 여러 가지 조언을 받고있는 수수께끼가 있습니다. 따라서 id는 정당한 답변을 위해 GIS-SE에 제출하는 것을 좋아합니다.

대본:

  • 클라이언트에는 웹 매핑 응용 프로그램이 있습니다. 여러 개의 작은 응용 프로그램으로 분할하고 싶지 않습니다. 이것은 웹상의지도에 대한 현대의 접근 방식 (예 : 하나의 주요 웹지도에 초점을 맞춘 많은 웹 맵 앱)에 위배되지만 일부 사용자에게는 웹에서 GIS 응용 프로그램을 복제하려고 시도하는 것이 좋아 ( 때로는 ).

  • 클라이언트는 많은베이스 맵 레이어를 별도의 서비스에 캐시했습니다.

  • 클라이언트는 여전히 동적 맵 서비스 에 600-700 개의 추가 레이어 를 필요로 합니다.
  • 서비스는 이러한 모든 계층 이 해제 된 상태로 게시 됩니다 .
  • 사용자는 한 번에 10-40 개 이상의 레이어를 켤 것으로 예상되지 않습니다.

나는 이것에 대한 당신의 초기 반응이 나의 것과 비슷하다고 생각합니다 (600+ ?! WTF ?!)

그러나 요구 사항은 돌로 설정되어 있으며 왜 그렇지 않습니까? 이전 ArcIMS 응용 프로그램의 기능이 비슷하므로이 최신 ArcGIS Server 제품이 동일한 기능을 수행 할 수없는 이유는 무엇입니까? 계층이 다른 부서에 속해 있더라도 사용자는 전체 계층 범위에 대해 교차 비교 및 ​​분석을 수행 할 수 있어야합니다.

결론으로 넘어 가기 전에 클라이언트는 정리 된 ArcGIS Server 관리자입니다.
모든 모범 사례 규칙에 따라 600 개의 계층을 관리했습니다. 예 : 정의 쿼리와 결합 된 스케일 범위; 라벨링에 대한 주석; 복잡한 층을 소규모로 일반화; MSD로 출판; 기타

문제 :

더 좋은 방법은 무엇입니까?

  1. 600 개의 모든 레이어를 하나의 동적 맵 서비스에 게시

  2. 계층을 논리적 그룹 (수문, 계획, 생태, 유틸리티 등)으로 분할

# 1을 사용하면 몇 개의 복잡한 레이어가 켜집니다. 간단한 포인트 레이어를 켜려면 ArcGIS Server는 여전히 전체 레이어가 다시 표시되도록 렌더링해야합니다.

# 2를 사용하는 경우 요청을 할 때마다 웹 응용 프로그램이 개별 맵 서비스에서 ExportMaps에 대해 여러 개의 GET 요청을해야 할 수 있습니다 (나쁜지 또는 # 1을 통해 ArcGIS Server에 추가로드를 생성합니까) ?)

그런 다음 모든 것이 가능한 빨리 구성되도록 구성 및 조정합니다. ArcGIS Server의 백엔드를 여러 호스트로 확장하고 좋은 하드웨어를 보유 할 수 있습니다.

# 1을 사용하면 AGS가 처리 할 수있는 최대 인스턴스 수를 던질 수 있습니다.

# 2를 사용하는 경우 맵 서비스의 성능을 평가하고 (로드 테스트 및 대기 시간 확인) '약한 링크'인 하나의 서비스가 없는지 확인하기 위해 최소 / 최대 인스턴스를 처리한다고 가정합니다.

내 머리는 여전히 하나의 서비스에 600 개의 레이어를 갖는 것이 미친 짓이라고 말하면서 현재 # 2 접근 방식에 기대어 있지만 기본적으로 모두 꺼져 있으면 아무런 문제가 없습니다.

당신의 생각을 듣고 싶습니다. 의견을 통해 더 많은 정보가 필요하지만 '데스크톱 응용 프로그램 사용'또는 '다르게 행동하도록 교육'과 같은 답변을 찾지 않는 경우 알려주십시오.


의견 토론에서 다른 고려 사항을 언급하지 못했습니다. 서비스가 사용되는 응용 프로그램에는 응용 프로그램 수준에서 계층 수준 보안 기능이 있습니다. 따라서 사용자 그룹 (대규모)이 특정 역할에 할당되며 해당 역할은 600 개의 전체 계층에 액세스 할 수 있습니다. 다른 역할은 제한 될 것입니다.


개인적으로 저는 문제를 간략히 설명하고 모범 사례에 대해 조언하고 나아갈 길을 권고 한 다음 그들의 손에 맡겨 두십시오. 하루가 끝날 무렵 누군가가 '그러나 그것이 그랬습니다'라고 말하자마자 손이 꽉 찼습니다. 이 상황에서 나는 위와 같이 할 것이고, 당신은 직업적이었고, 일을 잘했고 나머지는 그들에게 달려 있습니다. 또한 귀하가 근무하는 곳, 이메일을 통해 부유하고 유명한 사람을 포함시켜 조언이 있는지 확인하고, 모든 사람이 조언이 무엇인지, 누가 조언을했는지 알고 있습니다.
Hairy

레이어를 탐색하는 데 사용될 웹 응용 프로그램의 종류는 말하지 않지만 오픈 레이어 유형이라고 가정합니다. 이 경우 브라우저 는 동일한 서버 (XHR, css 및 모든 것을 포함하여)에 몇 번 (2에서 6 사이)의 동시 요청을 발행하지 않으므로 문제가 발생할 수 있습니다 . 자세한 내용과 몇 가지 대안에 대해서는이 기사를 참조하십시오 (IT가 협력 할 때는 일반적으로 여러 cname을 사용합니다
unicoletti

@Hairy-실제로 ArcGIS Server를 사용하여 클라이언트의 요구 사항을 충족시킬 수 있다고 생각하지만 AGS로 가능한 것에 대한 제한을 추진하고 있지만 여전히 가능하며 여전히 이전의 조언을 따라야합니다. 여러 응용 프로그램에 응용 프로그램.
Simon

1
나는 그것이 가능하다는 것을 알고, 나는 같은 일을하는 고객과 일해 왔지만, 그것이 다른 것이 바람직하다고 생각하지 않습니다. AGS를 어떤 방식으로 실행하든 600 개의 계층을 원하는 10 명의 클라이언트를 한 번에 결정하면 넘어집니다.
Hairy

답변:


8

용량 계획 도구 를 사용하여 하나의 수퍼 헤비 맵 서비스와 4 라이트 맵 서비스를 비교할 수 있었으며 결과는 헤비 맵 서비스가 나아갈 길임을 나타냅니다.

이것은 정답이 아닐 수도 있으며 용량 계획 도구가 모든 요소 (예 : 사용자 워크 플로)를 고려하지는 않습니다. 의견을 통해 의견을 보내주십시오.

1 개의 초강력 맵 서비스 :
App Server CPU 사용률 = 49.4 %
데이터베이스 서버 CPU 사용률 = 7.6 %
네트워크로드 = 16Mbps
디스플레이 응답 시간 = 0.88 초

(이미지는 RC에서 크게 볼 수 있고 새 탭에서 열 수 있습니다)

여기에 이미지 설명을 입력하십시오

4 개의 라이트 맵 서비스 :
App Server CPU 사용률 = 55.4 %
데이터베이스 서버 CPU 사용률 = 7.6 %
네트워크로드 = 64Mbps
디스플레이 응답 시간 = 각각 0.32 초, 따라서 웹 브라우저 오버 헤드에 따라 0.32-1.28 초

여기에 이미지 설명을 입력하십시오

단일 맵 서비스 접근 방식을 지원하는 추가 로직 :

  1. 따라서 모든 레이어는 동일한 맵 서비스에 있습니다.
    ㅏ. 하나의 요청이 서버로 전송됩니다
    . b. 하나의 SOC 프로세스가 맵을 그립니다
    . c. 하나의 이미지가 네트워크를 통해 반환됩니다

  2. 40 개의 계층은 4 개의지도 서비스 (각각 10 개의 계층)에 분산되어 있습니다.
    ㅏ. 4 개의 요청이 서버로 전송됩니다
    . b. 4 SOC 프로세스가 맵을 그립니다
    . c. 4 개의 이미지가 네트워크를 통해 반환됩니다

1a와 1c는 2a와 2c보다 더 빠르며 네트워크 부하가 적습니다.

2b는 병렬 처리를 사용하여 단일 사용자에 대해 1b보다 빠른 맵을 리턴 할 수 있지만 많은 사용자에게는 해당되지 않습니다. 실제로, 2b에서 서버에 의해 처리되는 추가 트랜잭션의 오버 헤드 (및 2c의 추가 네트워크로드)는 사용자 수가 증가함에 따라 1b 스케일이 훨씬 더 좋아질 것입니다.


2
논리적으로 들립니다. 600 레이어 MXD를 관리하는 것은 그리 재미 있지 않습니다.
스티븐 리드

1

여러 서비스, 레이어 / 레이블 스케일링, 캐싱 및 비 동적 라벨 사용은 모두 웹 응용 프로그램 환경을 개선하는 데 도움이되지만 최종 사용자는 600 개 이상의 모든 레이어를 하나의 응용 프로그램에로드하는 초기 적중을 눈에 띄게됩니다. 특히 TOC를 채우는 데 걸리는 시간. 600 개 이상의 레이어 응용 프로그램을 만들어야하는 경우 옵션 # 2를 사용하십시오. 당신은에 대한 데이터 struture 모델링 할 수 있습니다 데이터 모델 (예 : 지방 정부 데이터 모델).

아래 백서에는 ArcGIS Server 웹 응용 프로그램 구성에 대한 몇 가지 흥미로운 모범 사례 지침 및 성능 통계가 나와 있습니다.

http://www.esri.com/library/whitepapers/pdfs/creating-arcgisserver-web-mapping.pdf


TOC에 대한 좋은 지적이지만 실제로는 잘로드됩니다. '600 개 이상의 레이어를로드하기위한 초기 적중'= 맵 요청 관점에서 볼 때 여전히 하나의 서비스에 한 번만 요청합니다. 따라서 실제로 AGS가 20 개 이상의 레이어를 켜기 시작할 때까지 내보내기를 반환하는 것이 상당히 빠릅니다.
Simon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.