Снижение затрат ресурсов сервера

0 голосов
спросил 14 Июнь, 11 от feanor-111 (360 баллов) в категории Программные продукты Esri
Здравствуйте!

Может ли кто-то подсказать - как снизить затраты ресурсов ЦП на сервере при получении данных со слоев во флэш-приложение?

Правильно ли я понимаю что на сервере формируется векторная картинка, а потом отсылается во флеш и флеш уже работает с прорисованными слоями?

Или есть возможность как-то проиндексировать слои и отправлять во флеш только те данные, которые необходимы для получения данных со слоя по клику, без прорисовки векторной картинки?

Сейчас параметры сервера: 4ГБ ОЗУ, 2200Мгц ЦП, но думаю если будет пользоваться приложением хотя бы 50 человек то все встанет даже на более мощном сервере.

Спасибо!

6 Ответы

0 голосов
ответил 14 Июнь, 11 от Dorofeev1 (6,460 баллов)
Если данные в слоях не обновляются, можно использовать кеширование(заранее отстроить тайлы).
Если данные обновляются но, не редактируются непосредственно из приложения, можно поиграться с генерализацией вектора для более мелких масштабов.
Также стоит посмотреть на тип исходных данных, считывание значительно ускориться, если их расположить в ArcSDE.
Для сервака 4Гб совсем слабо, если запихивать все в ArcSDЕ нужно как минимум 8Гб.
0 голосов
ответил 14 Июнь, 11 от feanor-111 (360 баллов)
Спасибо!

Но вариант с кешированием не проходит, так как очень большая карта и много масштабов.- все не закеширует...

Попробую объяснить на конкретном примере проблему:

Есть карта России - надо по щелчку мыши определить какой регион под курсором - а сервер рисует все объекты слоя которые есть на всю Россию а это долго.

Сами слои могут быть и невидимые - главное получить название региона, можно ли это сделать не прорисовывая полигонами слои, есть ли какие-то метаданные которые здесь можно использовать?


0 голосов
ответил 14 Июнь, 11 от Dorofeev1 (6,460 баллов)
Метаданные есть, правда я не знаю позволяет ли Flex API их считывать. Но по моему Вас устроил бы и Extent слоя.
Проблемы с прорисовкой нужно решать через настройку областей видимости и генерализацию.
Если у Вас проблемы с выборкой, можете попробовать сделать один мелкомасштабный сервис для определения интересующего региона и далее крупномасштабные сервисы по каждому региону
0 голосов
ответил 14 Июнь, 11 от feanor-111 (360 баллов)
А extent слоя - это что такое и как к нему получить доступ?

Дело в том что мне прорисовки вообще не нужны - слой будет накладываться на карту с аркгисонлайн. нужна возможность получать и добавлять данные к элементу слоя.
0 голосов
ответил 14 Июнь, 11 от PITKS1 (20,860 баллов)
В таком случае слои делаются невидимыми и вся логика прорисовки делается на клиенте (flex приложение) с помощью Feature Layer

http://resources.esri.com/help/9.3/arcgisserver/apis/silverlight/help/Creating_featurelayer.htm
0 голосов
ответил 15 Июнь, 11 от feanor-111 (360 баллов)
Спасибо, за советы!
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...