Страница 1 из 1
					
				вопрос по mapserver, большие растры и geowebcache
				Добавлено: 30 ноя 2010, 07:59
				 inooni
				добрый день! меня возникла следующая проблема: имеется MapServer, на котором лежат растры размером около 1Гб, их около 70 штук, они обработаны с помощью gdal tileindex. Для ускорения загрузки я настроил geowebcache, в котором кэш хранится в виде jpeg файлов. При попытке создания кэша (seed) на больших масштабах у меня кэш не может дождаться когда отрисуются изображения (на небольших масштабах кэш делается хорошо), как можно настроить так, чтобы картинка состоящая из нескольких растров успешно отрендерилась??? если нужно, могу предоставить конфиги.
			 
			
					
				Re: вопрос по mapserver, большие растры и geowebcache
				Добавлено: 30 ноя 2010, 08:10
				 inooni
				я нашел настройку в geowebcache.xml: <backendTimeout>120</backendTimeout>, но установка большого значения не помогла. Такое ощущение, что mapserver не смог обработать несколько растров и выдать картинку.
			 
			
					
				Re: вопрос по mapserver, большие растры и geowebcache
				Добавлено: 30 ноя 2010, 10:41
				 Mavka
				Такое ощущение, что mapserver не смог...
Смотрите логи Apache. Там сразу поймете смог он или не смог.
 
			
					
				Re: вопрос по mapserver, большие растры и geowebcache
				Добавлено: 01 дек 2010, 12:57
				 inooni
				mapserver возвращает http-статус 500. я так понимаю, не справляется с обработкой.
			 
			
					
				Re: вопрос по mapserver, большие растры и geowebcache
				Добавлено: 01 дек 2010, 13:17
				 Mavka
				Ошибка 500 совсем безликая, по ней ничего не скажешь...
Добавьте в map-файл директивы отладки:
Код: Выделить всё
CONFIG "MS_ERRORFILE" "c:/temp/mapserver.log"
DEBUG 5
может там что проскочит.
Растры - по 1 Гб каждый или все вместе? Если проблема в размере файлов, то порежте их на более мелкие, поиграйте с 
пирамидами и форматами.
 
			
					
				Re: вопрос по mapserver, большие растры и geowebcache
				Добавлено: 02 дек 2010, 10:11
				 inooni
				Проверил, как вы посоветовали, получилась следующая картина:
Код: Выделить всё
[Thu Dec 02 11:08:59 2010].497000 CGI Request 1 on process 5192
[Thu Dec 02 11:08:59 2010].497000 msDrawRasterLayerLow(raster_nov): entering.
[Thu Dec 02 11:08:59 2010].497000 msDrawMap(): Layer 0 (raster_nov), 0.000s
[Thu Dec 02 11:08:59 2010].497000 msDrawRasterLayerLow(raster_vin): entering.
[Thu Dec 02 11:16:43 2010].541000 msDrawMap(): Layer 1 (raster_vin), 464.044s
[Thu Dec 02 11:16:43 2010].541000 msDrawMap(): Drawing Label Cache, 0.000s
[Thu Dec 02 11:16:43 2010].541000 msDrawMap() total time: 464.044s
[Thu Dec 02 11:16:43 2010].573000 msSaveImage() total time: 0.032s
[Thu Dec 02 11:16:43 2010].573000 mapserv request processing time (msLoadMap not incl.): 464.076s
[Thu Dec 02 11:16:43 2010].573000 msFreeMap(): freeing map at 01387FE8.
тут видно, что картинка генерировалась 464 секунды и вроде бы как успешно сохранилась.
а это лог geowebcache
Код: Выделить всё
02 фхъ 11:10:59 ERROR [wms.WMSHttpHelper] - Error forwarding request http://localhost:8008/cgi-bin/mapserv.exe?SERVICE=WMS&REQUEST=GetMap&VERSION=1.1.0&LAYERS=raster_n%2Craster_v&EXCEPTIONS=application/vnd.ogc.se_xml&STYLES=&TRANSPARENT=TRUE&BGCOLOR=0xFFFFFF&map=c:/OSGeo4W/apps/raster/raster.map&FORMAT=image/jpeg&SRS=EPSG:4326&WIDTH=768&HEIGHT=768&BBOX=1236551.221615603,5433616.924872949,1246209.907550456,5443275.610807802 Read timed out
02 фхъ 11:10:59 ERROR [seed.SeedTask] - Seed failed at ConveyorTile ) {294,144,6} raster_cache EPSG:4326 image/jpeg, exception: All backends (1) failed, last one: http://localhost:8008/cgi-bin/mapserv.exe?SERVICE=WMS&REQUEST=GetMap&VERSION=1.1.0&LAYERS=raster_n%2Craster_v&EXCEPTIONS=application/vnd.ogc.se_xml&STYLES=&TRANSPARENT=TRUE&BGCOLOR=0xFFFFFF&map=c:/OSGeo4W/apps/raster/raster.map&FORMAT=image/jpeg&SRS=EPSG:4326&WIDTH=768&HEIGHT=768&BBOX=1236551.221615603,5433616.924872949,1246209.907550456,5443275.610807802
отсюда видно, что запрос пришел в 11:08:59 на мапсервер, где он обрабатывался до 11:16:43. А кэш в 11:10:59 (через 2 минуты) вылетел. я нашел настройку в конфиге geowebcache "backend timeout", которая, похоже, как раз за это и отвечает. сейчас запустил проверить.
 
			
					
				Re: вопрос по mapserver, большие растры и geowebcache
				Добавлено: 02 дек 2010, 10:32
				 inooni
				не помогло это, теперь получается такой же самый лог у мапсервера, а кэш возвращает http 500
			 
			
					
				Re: вопрос по mapserver, большие растры и geowebcache
				Добавлено: 02 дек 2010, 13:57
				 inooni
				сейчас уменьшаю растры с помощью gdalwarp в 15 раз, работать стало на больших масштабах значительно быстрее и без вылетов. на маленьких: использую большие растры
			 
			
					
				Re: вопрос по mapserver, большие растры и geowebcache
				Добавлено: 02 дек 2010, 15:11
				 dvd_xaker
				Да хоть я в свое время не выбрал Mapserver. Были конечно проблемы с чтение растров, но это из-за некорректного конверктирования. А так если есть возможность или желание перейти на Geoserver. Без проблем он работает с 3,2 Гб растрами, у меня их 24. В кеш вогнал и все норм)
			 
			
					
				Re: вопрос по mapserver, большие растры и geowebcache
				Добавлено: 06 дек 2010, 08:33
				 inooni
				Я уже научился их обрабатывать. gdalwarp дает изображение примерно в 200 раз меньшее по объему на выходе, которое годится практически для всех масштабов, кроме самых близких. в итоге, после прохождения через кэш получается отличная производительность растра.
			 
			
					
				Re: вопрос по mapserver, большие растры и geowebcache
				Добавлено: 06 дек 2010, 14:50
				 inooni
				получилось нормально отображать порядка 1500 растров на 600Гб в сумме (они там разных размеров). сейчас идет кэширование. так что если у кого будут трудности с этим, пишите.