Добрый день. Похожей темы на форуме не нашел, поэтому создал новую. Может быть, это уже где-то обсуждалось, пока пишу сюда. В ходе работы с WMS сервисом возникла следующая проблема и следующие вопросы.
Тестовые среды: win xp/win 7, .net 2.0, 3.5, 4.0 (со всеми сервис-паками), IIS 5/6/7/Express В файле MapParam.xml у меня прописаны 4 проекта, в каждом по одной пользовательской карте (sit). Итого 4 карты. 1) Я заметил, что при обращении к WMS с запросом к одной из карт (в параметре Layers указана одна карта. Например: //localhost:88/WMS/?REQUEST=getmap&LAYERS=map1&BBOX=33833.58,25030.49,34036.32,25231.85&HEIGHT=256&WIDTH=256&CRS=EPSG:28407&FORMAT=image/png&SERVICE=wms&VERSION=1.3.0&STYLES=), у всех четырех карт в логах (LOG/*.sit.LOG) появляются сообщения, что они открывались и закрывались. С чем это может быть связано? Мне казалось,что открытие соединения – довольно дорогстоящая операция. Можно ли как то этого избежать? 2) Теперь основная суть проблемы: при «одновременных» запросах к сервису (в тестах использовал 50 потоков) у одной из карт, в логах появляется информация, что открывалась она на 1(2) раза больше,чем закрывалась (что то из серии
Код
…
GISWEB: OPEN MAP. 12/11/2011 15:59:48
GISWEB: OPEN MAP. 12/11/2011 15:59:53
GISWEB: CLOSE MAP.12/11/2011 15:59:53
…
). в gisservice.log начинают появлятся записи вида
Код
Map open error C:\sites\GIS\WMS\App_Data\Map\Map1\Map1.sit
Сам wms через какое то время крэшится, и не отвечает за последующие запросы. Помогает только перезапуск пула в IIS7, в IIS6 мопогает только перезапуск всего IIS (в win журнале ошибка ntdll.dll). Сама эта карта становится недоступной, не открывается даже в редакторе Panorama. Выскакивает ошибка – поврежден файл .SDA.
Одна из причин, точнее что еще может влиять на недоступность сервера - это ограничение в настройках IIS. На Windows XP в IIS существует ограничение на 10 одновременных соединений. На серверных ОС (Win 2003, 2008) этот параметр настраиваемый. Проверить его значение можно в свойствах веб-узла - дополнительные параметры, ограничения подключений, максимальное число параллельных подключений. Если там стоит число меньшее 50 (количество Ваших потоков), то его необходимо увеличить.
Да, я в курсе про ограничение, но я указал, что тестировал также и на win 7 iis 7, где это не актуально. + тогда бы возвращалось 403.9, но этого не наблюдается. Да и число 50 я указал, в какой-то степени подразумевая, что оно точно больше некоторого критического (эмпирически на моей машине это 15-20 потоков).
Записи в журнале карты об открытии/закрытии данных карты свидетельствуют об обращении на открытие или закрытие данных. Физическое открытие карты выполняется однократно модулем ядра ГИС. В сервисе имелась проблема синхронизации потоков при выполнении большого числа запросов. Вы можете скачать обновленную версию WMS сервиса в разделе Скачать нашего сайта. Спасибо за сообщение.