На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Некорректное отрабатывания запросов масштабирования карты

Поиск  Пользователи  Правила  Войти
Форум » Серверные приложения » GIS WebServer
Страницы: 1
RSS
Некорректное отрабатывания запросов масштабирования карты, Отсутствует плавное масштабирование (скрол, +/-)
 
Добрый день!
На нашем портале http://gis.mycrg.ru/ инструменты масштабирования по рамке работают достаточно быстро, благодаря заранее сформированным тайлам на все слои.
Проблема заключается в том, что пользоваться инструментами масштабирования (скрол, +/-) крайне не удобно в отличие от других картографических порталов.
А именно: при скролинге, увеличение или уменьшение изображения происходит рывками, крайне медленно и без плавности отрисовки изображения. Задержка выглядит искусственной и не исчезает даже при наличии кэша в браузере.
При использовании инструмента (Увеличение или уменьшение изображения) при троекратном клике подряд по инструменту, увеличение или уменьшение изображение происходит только один раз.
В сторонних ресурсах включая OpenSource, данные инструменты работают намного удобнее.
Например:
Генеральный план г.Ялта доступен по ссылке http://yalta.mycrg.ru/viewer/ , веб-приложение выполнено на базе Open Source CMV - The Configurable Map Viewer (https://github.com/cmv)
Яндекс-карты (https://yandex.ru/maps)
Google-карты (https://www.google.ru/maps)
ПКК Росрееср (https://pkk5.rosreestr.ru)

1. Возможно ли устранить задержку самостоятельно?
2. Планируете ли Вы это исправить в следующих версиях?


P.S. Видео работы инструментов на различных ресурсах для сравнения, высылаю на почту panorama@gisinfo.ru с пометкой "Симферополь"
Изменено: Александр Канивец - 01.02.2018 17:34:43
 
1) В основном проблема заключается в огромном кол-ве запросов посылаемых клиентом на сервер. (Из за того что все слои у вас тайловые).
Браузер просто не справляется с кол-вом запросов. Вам необходимо корректно выстроить структуру ваших данных  в дереве проектов.

Кол-во запросов необходимо сократить. Для этого часть карт перевести на WMS запросы , а часть на WMTS с размерами тайлов 1024х1024.
Например слои содержащие простые примитивы (линии, полигоны и точки без штриховок и заполнений) в WMS (например Функциональные зоны, границы и др.)
Слои с более сложными примитивами в WMTS 1024х1024.

Общее правило:
Тежелые карты, содержащие заполняющие знаки и штриховки, а также 10 миллионов объектов в слои WMTS 1024х1024.
Легкие в WMS.

2) Корректно настроить сервер IIS. А именно порядок формирования очередей запросов. (необходимо выставить опцию при получении нового запроса - формировать отдельный поток)  Кол-во потоков и запросов выставить исходя из возможностей вашего сервера. Обязательно должна быть серверная WINDOWS.

Возможно ли узнать параметры вашего сервера для дальнейших рекомендаций?
Изменено: Владимир Железняков - 02.02.2018 16:40:26
 
1) Перевел карту в WMS(1), по сравнению с WMTS(2), запрос отрабатывается намного дольше, при этом масштабирование и перемещение работает также как и на слое с WMTS запросом.

В первом случае на карте присутствует только один WMS слой, во втором случае точно такой же WMTS слой, в котором тайлы сформированы с помощью ImageryCreator 9.3.2 без формирования пустых тайлов.
 
Цитата
Владимир Железняков написал:
2) Корректно настроить сервер IIS. А именно порядок формирования очередей запросов. (необходимо выставить опцию при получении нового запроса - формировать отдельный поток)  Кол-во потоков и запросов выставить исходя из возможностей вашего сервера. Обязательно должна быть серверная WINDOWS.
Расскажите пожалуйста по-подробнее
 
В следующих версиях gwsse масштабирование будет доработано.
 
Цитата
Александр Канивец написал:
Расскажите пожалуйста по-подробнее
Настройка очереди запросов в IIS, обрабатываемых PHP-интерпретатором, настраивается в "Параметры Fast-CGI", свойство "Длина очереди". По умолчанию установлено значение = 1000. Это означает, что к одному процессу php-cgi.exe может одновременно направиться на обработку 1000 запросов. Если число запросов к серверу превысит 1000, то создастся новый процесс php-cgi.exe и так далее.

Уменьшать этот параметр имеет смысл в случае, когда php-скрипт (сервис) обрабатывает запросы, требующие длительного выполнения (оверлейные операции - поиск пересечения объектов и т.п.). Т.к. в этом случае, все остальные 999 запросов из очереди будут ждать завершения обработки текущего запроса. Т.е. из-за длительного поиска будет задержка в отдаче тайлов. Чтобы избежать такой задержки, можно установить длину очереди = 1, тогда на каждый запрос будет создаваться отдельный экземпляр php-cgi.exe. Но в этом случае возрастает нагрузка на сервер.

Какое значение использовать, необходимо решать от типа основных задач, решаемых сервисом.
Если основная задача сервиса - отдача тайлов, то имеет смысл оставить значение = 1000. Т.к. эти запросы обрабатываются быстро.
Если сервис чаще выполняет длительные запросы, то лучше установить значение = 1.

Аналогичные настройки есть в свойствах пула приложения.  Там рекомендуется выставить свойство "Длина очереди" равным 1000, а "Максимальное число рабочих процессов" увеличить до 20.
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности