[Mapbender-users] GUIs are loading very slowly in Mapbender v2.7.2

Verena Diewald verena.diewald at wheregroup.com
Mon Oct 15 04:44:00 PDT 2012


Hi list,

one correction for file javascripts/initWmcObj.php, please take this 
file from changeset 8502 [1].


Greetings,

Verena


[1] http://trac.osgeo.org/mapbender/changeset/8502



Am 15.10.2012 11:45, schrieb Verena Diewald:
> Hello list,
>
>
> please try our workaround solution for a faster loading mechanism.
> What did we do:
> We created a kind of cache mechanism which stores the initial js 
> mapobject produced by the WMC loading process. The cache file is being 
> created loading the gui for the first time. As soon as it exists, the 
> gui's mapobject is loaded from the cache file, not again from the WMC 
> process. This makes the loading process faster. Changing the mapobject 
> of the gui (adding WMS, deleting WMS, updating WMS...) deletes the 
> cache file and the gui has to be loaded the slowly way once again for 
> creating a new cache file.
> Use of the cache file loading process can be controlled using the 
> element var "loadFromCache" of the mapframe1 gui element.
> This workaround should at least be suitable for all mapbender guis 
> which are not ever-changing (e.g. portal guis).
> If you want to use the newer GET params api [1] you can not use this 
> woraround.
> If you want to use the older GET params (e.g. mb_myBBOX, 
> mb_myPOI2SCALE, visiblelayers, querylayers...) you can do this with 
> activated cache solution.
> What you have to do for integration of the workaround:
> 1) get all changed files from the Mapbender 2.7 SVN branch of 
> changeset 8491 [2]
> 2) create a cache directory in the Mapbender's root directory 
> (mapbender/cache) and set the Apache user as owner of this directory
> 3) add the element var "loadFromCache" to gui element mapframe1 and 
> set it to 1 if you want to use the cache mechanism:
> INSERT INTO gui_element_vars(fkey_gui_id, fkey_e_id, var_name, 
> var_value, context, var_type) VALUES('<gui_id>', 'mapframe1', 
> 'loadFromCache', '1', 'define if mapObj should be loaded from cache if 
> cache file already exists' ,'php_var');
>
>
> Best regards,
>
> Verena
>
>
>
> [1] http://www.mapbender.org/GET-Parameter
> [2] http://trac.osgeo.org/mapbender/changeset/8491
>
>
>
> Am 22.08.2012 08:57, schrieb Verena Diewald:
>> Hi list,
>>
>> we decided to start another analysis of the performance problem.
>> Perhaps it is possible to do a preprocessing of the WMC loading 
>> mechanism. We will think about it.
>> Further ideas are welcome.
>>
>>
>> Best regards,
>>
>> Verena
>>
>>
>> Am 16.08.2012 16:22, schrieb Verena Diewald:
>>> Hallo Liste,
>>>
>>> Am 16.08.2012 14:47, schrieb Armin Retterath:
>>>> Hallo zusammen,
>>>>
>>>> es liegt leider nicht an der GUI. Wir müssen etwas am Grundprinzip 
>>>> des Ladens anpassen. Seit der neuen Version dauert es einfach 
>>>> länger. Das aktuelle Verfahren ist bei verteilten Strukturen mit 
>>>> unterschiedlichen Nutzungsbedingungen leider notwendig und ist 
>>>> durch unsere Weiterentwicklung in den Jahren 2010/2011 dort 
>>>> reingeflossen.
>>>> Ggf. könnte man optional einen schnelleren Ladevorgang realisieren. 
>>>> Ist aber ein bisschen Programmieraufwand ;-) . Wenn ich nach der 
>>>> Umsetzung der INSPIRE Anforderungen für Downloaddienste was Zeit 
>>>> bekomme, kann ich mich ja mal dransetzen.
>>>> Problem liegt serverseitig im javascripts/initWmcObj.php Script 
>>>> begründet.
>>>> Kann man debuggen und dann mal testen wie die Verarbeitungszeit 
>>>> ansteigt, wenn eine GUI immer mehr Dienste hinzubekommt :-( .
>>> Ich habe mir vor einiger Zeit die Verarbeitungszeiten des WMC im 
>>> Zusammenhang mit ansteigender Anzahl an WMS in einer GUI angeschaut. 
>>> Es ist leider wirklich so, dass die Erstellung des initialen WMC pro 
>>> hinzukommendem WMS immer länger dauert und sich dadurch die Ladezeit 
>>> der GUI immer weiter erhöht.
>>>
>>>
>>> Gruß,
>>>
>>> Verena
>>>>
>>>> Grüße
>>>> Armin
>>>>
>>>> On 16.08.2012 14:38, Thomas Baschetti wrote:
>>>>> Am 16.08.2012 09:28, schrieb Sebastian Schwarz:
>>>>>> Hallo Liste,
>>>>>>
>>>>>> wir haben ein Problem mit Mapbender v2.7.2: Die GUIs, die wir 
>>>>>> bislang
>>>>>> umgesetzt haben, weisen durchweg sehr lange Ladezeiten auf, vorallem
>>>>>> dann, wenn sie über zahlreiche eingebundene WMS verfügen. Über 
>>>>>> diesen
>>>>>> Effekt haben wir bereits mit der WhereGroup gesprochen, die dazu
>>>>>> folgende Auskunft gab: Beim Laden einer GUI muss das Skript in 
>>>>>> map.php
>>>>>> warten, bis serverseitig aller WMS-Informationen zu einem 
>>>>>> initialen WMC
>>>>>> verarbeitet sind, bevor das Skript in die eigentliche GUI 
>>>>>> springen und
>>>>>> diese schließlich anzeigen kann. Dieses Laden dauert umso länger, je
>>>>>> mehr WMS in die GUI eingebunden sind.
>>>>> ja, das Laden kann mit komplexeren Anwendungen und vielen WMS 
>>>>> leider recht langwierig werden :-(
>>>>>
>>>>>> Nun zur eigentlichen Frage: Gibt es eine Möglichkeit, diese Ladezeit
>>>>>> bzw. das serverseitige Verarbeiten der WMS-Informationen zu einem
>>>>>> initialen WMC zu verkürzen?
>>>>> als Idee zum Testen:
>>>>> Habt ihr die GUI schon mal manuell als WMC Dokument abgespeichert 
>>>>> (modul saveWMC),
>>>>> und versucht die dann in eine schlanke&schnelle GUI zu laden? Geht 
>>>>> das dann schnell?
>>>>> Falls ja kann man das sicherlich automatisieren, aber falls auch 
>>>>> das nicht schnell genug
>>>>> ist müsste man versuchen die Verarbeitung des WMC generell zu 
>>>>> beschleunigen...
>>>>>
>>>>> Mit freundlichen Grüßen
>>>>>
>>>>> Thomas Baschetti
>>>>>
>>>>
>>>>
>>>
>>
>



More information about the Mapbender_users mailing list