I would still like to see someone with a proper testbed measure the performance improvement, though. I just ran a profiler, noticed that the sweet spot for the particular view in question (with about 15 textfield components) was in Velocity, figured out how to turn on caching and noticed that the execution time dropped while hitting F5. Not the most sophisticated way to measure performance, to say the least. :)
Dag
Patrick Lightbody wrote:
Dag, this is great work -- could you please open a bug for this?
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dag Liodden Sent: Thursday, January 08, 2004 2:37 PM To: [EMAIL PROTECTED] Subject: Re: [OS-webwork] Xwork/WebWork2 under extreme load
I think that using the taglib is slow due to the massive amount of template parsing that is associated with rendering of the tags. By default, Velocity does not cache templates and so each tag will result in loading and parsing the templates. I've done a very simple stress-test with profiling and turning on resource increased performance
noticeably on results with extensive use of the taglib (e.g a large input form). Mathias, since you obviously have a test-harness ready to go, perhaps you could turn caching on and give us some figures?
Below is a simple Velocity configuration that goes into velocity.properties in WEB-INF with caching turned on. The modificattion
interval is in seconds and could probably be adjusted up too (I use 2 seconds since it's adequate for development) - I think zero means never refresh but I can't really remember from the top of my head.
-- Snip --
velocimacro.library = VM_global_library.vm,tigris-macros.vm
runtime.log.error.stacktrace = true runtime.log.warn.stacktrace = true runtime.log.info.stacktrace = true runtime.log.invalid.reference = true
# Resource loaders resource.loader = file, class
file.resource.loader.description = Velocity File Resource Loader file.resource.loader.class = org.apache.velocity.runtime.resource.loader.FileResourceLoader file.resource.loader.path = .,WebRoot file.resource.loader.modificationCheckInterval = 2 file.resource.loader.cache = true
class.resource.loader.description = Velocity Classpath Resource Loader class.resource.loader.class = org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader file.resource.loader.modificationCheckInterval = 2 file.resource.loader.cache = true
velocimacro.permissions.allow.inline = true velocimacro.permissions.allow.inline.to.replace.global = true velocimacro.permissions.allow.inline.local.scope = false
velocimacro.context.localscope = false
#----------------------------------------------------------------------- ----- # INTERPOLATION #----------------------------------------------------------------------- ----- # turn off and on interpolation of references and directives in string # literals. ON by default :) #----------------------------------------------------------------------- ----- runtime.interpolate.string.literals = true
#----------------------------------------------------------------------- ----- # RESOURCE MANAGEMENT #----------------------------------------------------------------------- ----- # Allows alternative ResourceManager and ResourceCache implementations # to be plugged in. #----------------------------------------------------------------------- ----- resource.manager.class = org.apache.velocity.runtime.resource.ResourceManagerImpl resource.manager.cache.class = org.apache.velocity.runtime.resource.ResourceCacheImpl
-- Snip --
Cheers,
Dag
Jason Carreira wrote:
I think there's still a major Velocity tuning issue there that we need to address...
-----Original Message-----
From: Francisco Hernandez [mailto:[EMAIL PROTECTED] Sent: Thursday, January 08, 2004 3:28 PM
To: [EMAIL PROTECTED]
Subject: Re: [OS-webwork] Xwork/WebWork2 under extreme load
i've noticed that using webwork2 taglibs is slow.. the more i use the slower requests get
BOGAERT Mathias wrote:
Hi,this before?
I'm currently stress testing my application on WebLogic 8.1 under extreme load. It seems Xwork has some blocking issues, especially in regard to OGNL (getting/setting values on the stack).
Before I go further to investigate deeply, did anyone see
And are there any best practices concerning threads and theway a web
application should be written?System offering
Thanks, Mathias Bogaert
-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management
advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html-------------------------------------------------------
_______________________________________________
Opensymphony-webwork mailing list [EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html
_______________________________________________
Opensymphony-webwork mailing list [EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
------------------------------------------------------- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
------------------------------------------------------- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html
_______________________________________________
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
------------------------------------------------------- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork