[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