Uma das formas de optimizar o MapServer do lado do servidor web consiste em corrê-lo em modo FastCGI.
Instalação
(Em Windows com MS4W)
1. Actualmente o MS4W vem com suporte a FastCGI sendo o módulo do Apache (mod_fcgid) necessário carregado por defeito. Instalar o MS4W em:
2. Editar o ficheiro de configuração do Apache httpd.conf
Instalação
(Em Windows com MS4W)
1. Actualmente o MS4W vem com suporte a FastCGI sendo o módulo do Apache (mod_fcgid) necessário carregado por defeito. Instalar o MS4W em:
"c:/ms4w/"Verificar se está instalado o Visual C++ 2008 Redistributable Package
2. Editar o ficheiro de configuração do Apache httpd.conf
- remover o comentário da linha:
LoadModule fcgid_module modules/mod_fcgid.so
- remover os comentários das seguintes linhas e colocar os caminhos correctos:
DefaultInitEnv PROJ_LIB "c:/ms4w/proj/nad/"
DefaultInitEnv PATH "c:/ms4w/Apache/cgi-bin;
c:/WINDOWS/system32;c:/WINDOWS;c:/WINDOWS/System32/Wbem;"
DefaultInitEnv windir "c:/WINDOWS"
DefaultInitEnv SystemRoot "c:/WINDOWS"
DefaultInitEnv SystemDrive "c:"
DefaultInitEnv GDAL_DATA "c:/ms4w/gdaldata"
DefaultInitEnv GDAL_DRIVER_PATH "c:/ms4w/gdalplugins"
DefaultInitEnv TMP "c:/ms4w/tmp"
DefaultInitEnv TEMP "c:/ms4w/tmp" - adicionar parâmetros de configuração do FastCGI como por exemplo:
IPCCommTimeout 60
IdleTimeout 60
DefaultMinClassProcessCount 2
DefaultMaxClassProcessCount 20
DefaultInitEnv PROJ_LIB "c:/ms4w/proj/nad/"
DefaultInitEnv PATH "c:/ms4w/Apache/cgi-bin;
c:/WINDOWS/system32;c:/WINDOWS;c:/WINDOWS/System32/Wbem;"
DefaultInitEnv windir "c:/WINDOWS"
DefaultInitEnv SystemRoot "c:/WINDOWS"
DefaultInitEnv SystemDrive "c:"
DefaultInitEnv GDAL_DATA "c:/ms4w/gdaldata"
DefaultInitEnv GDAL_DRIVER_PATH "c:/ms4w/gdalplugins"
DefaultInitEnv TMP "c:/ms4w/tmp"
DefaultInitEnv TEMP "c:/ms4w/tmp" - salvar o ficheiro httpd.conf e reiniciar o Apache.
3. Modificar a aplicação CGI de forma a apontar para "/fcgi-bin/mapserv.exe" em vez de "/cgi-bin/mapserv.exe".
4. Adicionar o parâmetro seguinte às layers para as quais queremos uma ligação FastCGI:
Notas
Em modo FastCGI poderá não se verificar um aumento de performance embora haja um ganho em utilização de recursos e eficiência.
Com layers de shapefiles o parâmetro "CLOSE_CONNECTION=DEFER" é simplesmente ignorado, não havendo portanto, um ganho de performance assinalável, por maiores que sejam as shapefiles.
O FastCGI compensa em situações em que exista um "custo" de ligação elevado, por exemplo, em ligações a ArcSDE, Oracle ou PostGIS.
O melhor será sempre fazer testes de benchmarking.
4. Adicionar o parâmetro seguinte às layers para as quais queremos uma ligação FastCGI:
PROCESSING "CLOSE_CONNECTION=DEFER"5. Testar a aplicação. Se a instalação tiver sido bem sucedida então deveremos ver o processo "mapserv.exe" no Windows Task Manager, mantendo-se aberto enquanto o utilizador interage com a aplicação.
Notas
Em modo FastCGI poderá não se verificar um aumento de performance embora haja um ganho em utilização de recursos e eficiência.
Com layers de shapefiles o parâmetro "CLOSE_CONNECTION=DEFER" é simplesmente ignorado, não havendo portanto, um ganho de performance assinalável, por maiores que sejam as shapefiles.
O FastCGI compensa em situações em que exista um "custo" de ligação elevado, por exemplo, em ligações a ArcSDE, Oracle ou PostGIS.
O melhor será sempre fazer testes de benchmarking.
Sem comentários:
Enviar um comentário