Dear Ivy Team Usually the static web content such as css, js, images etc are offloaded and put in a web proxy in order to reduce the data load for the app server. Of course these files must be cached on the browser side. But still they must expire on a daily basis (since hotfixes can come in on a daily basis). Any ideas ? Regards John asked 28.01.2020 at 04:16 John Moser |
Hi John The resources (js, css, images) are cached one week in the browser if running with the Axon.ivy Engine, Designer is different because JSF runs there in the Development mode. Some of the resources e.g. form webcontent have an additional url parameter "xv" which is changing if the file is modified on the server (eg. when deploying new hotfix). This means then they are reloaded by the browser because they have a new adress. I tried an 8.0.3 Axon.ivy Engine with the default Portal localy run with docker. There all resources (js, css, images) expire after a week. So if i visit it a second time all this resources come form the browser cache, see screenshot with the "Firefox Network Analysis" open: I also tried it with our internal demo server, which has a nginx in front of the Axon.ivy Engine, same picture, just that they are served now with http2: To further improve the loading time it is may be worth to gzip the resources. But this then needs more CPU on the server. My advice is to enable this in the Front-end Server (e.g. nginx) and not in ivy, because the Front-end Server is normally optimized for this task. answered 09.03.2020 at 05:01 Christian St... ♦ |
Hi Christian, I checked your answer and see that the Expires header is always 1 week. Is there any Ivy document mention about this default configuration? Thank you! answered 03.07.2020 at 03:46 khanh11166 |
Once you sign in you will be able to subscribe for any updates here
By RSS:Markdown Basics
Tags:
Asked: 28.01.2020 at 04:16
Seen: 2,989 times
Last updated: 03.07.2020 at 03:46
Is the question: How to setup a reverse proxy which cache static ressources?
Ok ... then there is no caching support in Ivy and a proxy has to be setup.
I did not exactly understand your initial question. So your initial question was: Is there a possibility to cache static resources in the Axon.ivy Engine?
What exactly should we support in your opinion? I think its common to cache static resources on a reverse proxy to reduce the load on the application server (ivy). If the request still goes to the application server you can not reduce the load.
Or you maybe just want to set HTTP cache headers on static resources?
Just done some performance testing. As an example it turned out that :
291 calls were made against Ivy :
96 xhtml
15 ivp
180 static content such as js, css, png, svg etc
My suspicion (basically confirmed by visualvm) is that the performance of Ivy / Tomcat is severely hit by serving that static stuff.
I would really appreciate if this is mentioned in your documentation, it seems this is not clear to everyone.