Hi, 1. +1 in order to avoid conflicts (and hard to debug problems) between multiple instances started on the same machine and all writing to the tmp folder, like it is now. 2. +1, otherwise it invalidates the idea of a "cache" (at least at startup). We don`t want to encourage people restarting XWiki to magically fix problems, it's not M$ Windows :) Instead, we could recommend cleaning the cache folder, just like we do for Solr, more or less. 3. -0 This would only be useful for testing the jetty/HSQLDB product. However, it might not be useful in our ITs which start custom XWiki instances that can not really reuse the generated cache from the standard distribution (maybe they could, but there is also a chance of introducing bugs this way). Another thing we could try is to asynchronously start the cache building process in a background thread, during XWiki's startup, then handle other startup tasks (solr, databases, etc.) in the main thread, then finally synchronize back with the cache building thread just before finishing the startup process and showing the UI. WDYT?
Thanks, Eduard On Thu, Feb 12, 2015 at 6:55 PM, Guillaume "Louis-Marie" Delhumeau < [email protected]> wrote: > Hi. > > Currently, XWiki is quite long to start, and this is mainly because of the > LESS compiler which generates the CSS file of the skin. > > Fortunately, we cache the results of the compilation in the LESS cache, > which is stored in the file-system (this is important). > > Some actions can be done to make the launch quicker: > > 1 - Not purge the cache at startup. > The idea is to keep the cache of the previous launch of XWiki, so LESS > would have nothing to compile anymore. This does not solve the first launch > issue, but it is a great progress anyway. The disadvantage of this is that > restarting XWiki will not solve any issue related to a bad cached file (ex: > a buggy CSS file stored in the cache will still be there after a restart. > The only way to fix this is to re-save the buggy LESS resource). > > Note that this behaviour can easily be changed by modifying a config file: > > http://extensions.xwiki.org/xwiki/bin/view/Extension/LESS+Module#HCacheStrategy > > 2 - During the build of XE, run an integration test that performs a simple > view request to XWiki in order to make the LESS compiler builds the CSS > file and pushes it into the cache. After the integration test, we just copy > the generated LESS cache file into the Jetty/HSQLDB distribution, and so > when you launch XWiki from this distribution, you use the pre-generated > cache. > > Of course it could only work for our Jetty distributions that users test > locally. It will not solve the issue on production servers. But it is > already good that a user have a good impression by starting XWiki quickly > on her computer. > > I have made a proof of concept on a branch [1] and the thing is working > well. The first request to XWiki is really faster. > > The only blocking point I have now is that the current cache directory is > currently configured to be the temporary directory. Instead, I need to use > a directory from the distribution (where I can put my pre-generated cache > files). I have solved this locally by setting an absolute path to my "data" > folder [2], but it is not clean. > > Thomas suggested me to configure all the caches to use the "permdir" > directory, which actually is the "data" directory in the case of our jetty > distributions, and so it does the job. > > So the vote is for the following proposal: > 1 - move the cache files to permdir > 2 - do not purge the LESS cache at startup (by default) > 3 - add a new module that pre-generate the LESS cache file to make the > first XWiki launch faster > > Here is my +1. > > Thanks, > > [1] > https://github.com/xwiki/xwiki-enterprise/compare/feature-datalesscache > [2] > > http://jira.xwiki.org/browse/XWIKI-10879?focusedCommentId=85369&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-85369 > > > -- > Guillaume Delhumeau ([email protected]) > Research & Development Engineer at XWiki SAS > Committer on the XWiki.org project > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

