4. Размещение на одной машине
Web Server
http://80
Web Adaptor
GIS siteGIS Server
http://6080
Data
Server directories
Configuration store
Firewall
5. Размещение на нескольких машинах
Web Server
http://80
Web Adaptor
Data
Server directories
Configuration store
GIS Server
1
GIS Server
2
ArcGIS Server site
6. Размещение на нескольких машинах с
использованием кластеров ArcGIS
cluster Bcluster A
Web Server
http://80
Data
Server directories
Configuration store
GIS Server
1
GIS Server
2
GIS Server
3
ArcGIS Server site
Web Adaptor
9. Web Adaptor
• Используйте Web Adaptor только в том случае, если вам
нужна поддержка авторизации на уровне веб-сервера,
например при реализации SSO
• В остальных случаях используйте аппаратные или
программные балансировщики
18. Оптимизация базы геоданных
• Не используйте версионирование
• Если используете версионирование старайтесь чтобы
таблицы изменений и дерево версий было минимально.
Для этого регулярно выполняйте
- Reconcile и post
- Compress
- Synchronize replica
• Перестраивайте индексы
• Обновляйте статистику
28. Статистика использования сервисов в 10.3
• Количество запросов к сервисам за последнюю неделю
• Распределение нагрузки за последнюю неделю
• Производительность для каждого сервиса по часам
• Количество используемых экземпляров для каждого
сервиса.
31. Используйте logparser для анализа логов
веб-сервера
- Top 10 URL с наибольшим временем обслуживания
logparser -i:IISW3C -o:NAT "SELECT TOP 10 cs-uri-stem, max(time-
taken) as MaxTime, avg(time-taken) as AvgTime INTO
toptimetaken.txt FROM d:logu_ex130130.log WHERE cs-uri-stem
like '%%arcgis%%' GROUP BY cs-uri-stem ORDER BY MaxTime
DESC"
33. Используйте logparser для анализа логов
ArcGIS for Server
• LogParser -i XML -o CSV "SELECT * INTO errors.csv FROM
SERVER-SERVER-20120227-000000.xml#/Log/Msg WHERE
type='ERROR'"
34. «Медленным пользователям – немедленная смерть!
Используйте varnish или другой прокси для управления сессиями
пользователей
backend arcgis1 {
.host = "10.129.220.1";
.port = "6080";
.connect_timeout = 30s;
.first_byte_timeout = 30s;
.between_bytes_timeout = 30s;
.max_connections = 100;
.probe = healthcheck;}