Sure, Lukas:
https://github.com/mmalmeida/struts-performance
On Thu, 2012-07-05 at 06:48 +0200, Lukasz Lenart wrote:
Could you post somewhere (GitHub) the whole code base ?
Regards
Sorry, I sent the email before explaining.
The repo has a maven project that I stripped down to the most basic to
show the issue. Notice the iterator in index.jsp.
I tried to remove every unused configuration, file and dependency to
make the project as simple as possible.
The original project
I believe I've found the culprit.
While the problem is present in commit
https://github.com/mmalmeida/struts-performance/commit/aba93098174c8c8c1684ffdd9bf332b212a893a
, it's not present in the latest commit if you turn devMode to false.
The issue was the freemarker version 2.3.9 in that
Thanks! The latest version of S2 is already using 2.3.19
Kind regards
--
Łukasz
mobile +48 606 323 122 http://www.lenart.org.pl/
Warszawa JUG conference - Confitura http://confitura.pl/
2012/7/5 Miguel Almeida mig...@almeida.at:
I believe I've found the culprit.
While the problem is present
Dear all,
I have got a performance issue on a nested iterator, running Struts
2.3.1.1.
Consider the code below, (the example is a Book with chapters and
subchapters and we're displaying the book index - bookIndex is a
MapChapter,ListSubchapter.
This takes several seconds to load (map has size
Could you post somewhere (GitHub) the whole code base ?
Regards
--
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/
-
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail:
Hi
My web application based on Struts 2.2.1 is using OGNL 3.0. This web
application is rolled into production; however, due to serious performance
considerations the website is in danger of being rolled back. The thread
dumps indicate 'BLOCKING' at ognl.OgnlRuntime.invokeMethod
Hi,
Could you post code for MainAppLogin.jsp and StartMainApp interceptor ?
And why are you using such interceptors in a production environment ?
- TimerInterceptor
- ProfilingActivationInterceptor
- DebuggingInterceptor
Regards
--
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/
Kapituła
: Re: Critical performance issue in production environment due to
OGNL 3.0 blockages!
Hi,
Could you post code for MainAppLogin.jsp and StartMainApp interceptor ?
And why are you using such interceptors in a production environment ?
- TimerInterceptor
- ProfilingActivationInterceptor
Message-
From: Musachy Barroso musa...@gmail.com
To: Struts Users Mailing List user@struts.apache.org
Sent: Tue, Nov 3, 2009 8:04 am
Subject: Re: Performance issue using s:bean/ tag
I would suggest you to use a profiler to find out for sure what is
aking the time. You can use VisualVM which comes
Hi,
I seem to be having a performance issue in some of my Struts 2 actions. On
several of my pages, I render a couple of drop down tags in my output page.
I populate the drop down tags by instantiating an s:bean/ tag and invoking
the methods in the bean to call an EJB service and populating
a performance issue in some of my Struts 2 actions. On
several of my pages, I render a couple of drop down tags in my output page.
I populate the drop down tags by instantiating an s:bean/ tag and invoking
the methods in the bean to call an EJB service and populating a collection
property from the results
analysis above is correct. Hope someone with more experience can
provide their input here as I'm really getting pasted about the performance
issue on a daily basis.
Thanks!
Wong
On Tue, Nov 3, 2009 at 6:27 AM, Musachy Barroso musa...@gmail.com wrote:
It is the same struts code running all the time
someone with more experience can
provide their input here as I'm really getting pasted about the performance
issue on a daily basis.
Thanks!
Wong
On Tue, Nov 3, 2009 at 6:27 AM, Musachy Barroso musa...@gmail.com wrote:
It is the same struts code running all the time, so it should as
fast
commands, e-mail: user-h...@struts.apache.org
Yes, I streamed it from an action. However, I could show the above table
using an action to stream images.
--
View this message in context:
http://www.nabble.com/Performance-issue-with-large-data%28such-as-images%29-tp23945029p23981525.html
Sent
Hi All,
just as a side note,
300 users is a very small quantity of users.
So i would recomend to check if there is a performance problem at all.
Best greetings,
Paweł Wielgus.
2009/6/9 Jim Collings jlistn...@gmail.com:
Can't put em in your database as BLOB's with all the other user info?
On
as user_.gif ( = the user
id). When they chage their image override the file.
Also as stated by Pawel, make sure you have a performance problem
before you try to solve a performance problem.
--
View this message in context:
http://www.nabble.com/Performance-issue-with-large-data
I should have also mentioned that there are security issues with
persisting to the hard drive.
I would recommend saving to the database and loading the images as
needed. Do not save them to session. I do not think you will have a
performance problem.
Rich
[mailto:richardsa...@gmail.com]
Sent: Wednesday, June 10, 2009 12:41 PM
To: Struts Users Mailing List
Subject: Re: Performance issue with large data(such as images)
Thanks, Rich,
I''m happy to help.
If I use BLOB, I have to make a lot of change to my code. Therefore, I have
to persist it as String. I used
I should have also mentioned that there are security issues with
persisting to the hard drive.
I would recommend saving to the database and loading the images as
needed. Do not save them to session. I do not think you will have a
performance problem.
Rich
I have had problems when trying to
), I couldn't find a way to display it using URL.
i-mg src=/home/username/images/local/PRTR.jpg / doesn't work at all.
--
View this message in context:
http://www.nabble.com/Performance-issue-with-large-data%28such-as-images%29-tp23945029p23969795.html
Sent from the Struts - User mailing list
user_portrait_5(image)
...
I used to use display tag to solve similar table display, but with image
URL, it doesn't work.
--
View this message in context:
http://www.nabble.com/Performance-issue-with-large-data%28such-as-images%29-tp23945029p23969896.html
Sent from the Struts - User
fireapple wrote:
Any way to resolve the security issue? If the user save the portrait in the
hard drive(outside of app), I couldn't find a way to display it using URL.
i-mg src=/home/username/images/local/PRTR.jpg / doesn't work at all.
Stream it from an action/servlet/etc?
Dave
to access db for 300 times.
Is there any solution (such as a design pattern or interceptor) for this
performance issue? Many thanks!
--
View this message in context:
http://www.nabble.com/Performance-issue-with-large-data%28such-as-images%29-tp23945029p23945029.html
Sent from the Struts - User mailing
as userId_avatar.gif. That
way you can link the file to a user id and have no need to store the
url. Use a base directory for storing the images.
Before you guess if something is a performance issue, you should test
to see what the actual cost of each method of image storing and
retrival is.
Rich
to the url in
the database. Or even store the images as userId_avatar.gif. That
way you can link the file to a user id and have no need to store the
url. Use a base directory for storing the images.
Before you guess if something is a performance issue, you should test
to see what the actual
fireapple wrote:
If I want to persist images to the hard drive of server. Shall I persist the
data inside WAR or outside? Because user can change their portrait, does it
mean it must be persisted outside WAR?
You can't write stuff into your WAR.
Dave
Can't put em in your database as BLOB's with all the other user info?
On Tue, Jun 9, 2009 at 4:26 PM, Dave Newtonnewton.d...@yahoo.com wrote:
fireapple wrote:
If I want to persist images to the hard drive of server. Shall I persist
the
data inside WAR or outside? Because user can change
, 16h19mn 36s
Objet : Re: Performance issue
Yes the model is *exactly* the same in the two cases. In fact, both
S1 and S2 exist concurrently in the same Tomcat application.
Each test is run using JMeter, with 10 users who randomly try to
access one of 42 different pages involving 10 different types
to me that this performance issue could easily be
the death of S2 (which would be a real shame). Two alternatives
present themselves:
* Making a version of S2 that doesn't necessarily rely on OGNL.
* Making OGNL ten times faster
that this performance issue could easily be
the death of S2 (which would be a real shame). Two alternatives
present themselves:
* Making a version of S2 that doesn't necessarily rely on OGNL.
* Making OGNL ten times faster
Janvier 2009, 13h09mn 39s
Objet : Re: Performance issue
From the comparison I made on my own system, S2 is overall about 30 to
60 times slower than S1. This is based on comparing a number of pages
(repeatedly, testing with JMeter, etc.); the pages being compared
are, admittedly not 100% identical
Yes the model is *exactly* the same in the two cases. In fact, both
S1 and S2 exist concurrently in the same Tomcat application.
Each test is run using JMeter, with 10 users who randomly try to
access one of 42 different pages involving 10 different types of
results (that is, roughly speaking,
I would be interested in seeing new benchmark results if anyone happens to
generate some. Might want to avoid database-based tests due to caching.
Date: Tue, 6 Jan 2009 16:19:36 -0500 From: pierre.thibaud...@gmail.com To:
user@struts.apache.org Subject: Re: Performance issue Yes the model
This test sounds about as straightforward as parallel parking a freight
train on a one lane road.
I had encountered similar problem a while back in Webwork.I believe its
OGNL's problem as well. However, in most of my other projects using WebWork,
I had no performance problem. I believe it has something to do with some jar
files included in the project. I have not got a chance to find out which
, page rendering in browser or result processing
or maybe You are talking about action processing time?
Also You can turn on profiling in struts2 to see how much time is spent
where.
Best greetings,
Paweł Wielgus.
--
View this message in context:
http://www.nabble.com/Performance-issue
--- On Sat, 12/13/08, Hardik Shah wrote:
[...] i dont know how to turn on profiliing [...]
http://struts.apache.org/2.0.14/docs/profiling.html
Dave
-
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional
Hi Hardik,
I had exactly the same problem with struts2. I wrote a struts2 webapp
that produces a huge amount of output in JSPs. My JSPs took about 10
seconds to produce the content. The bottleneck is OGNL. OGNL has an
extremely poor performance. Struts2 is an excellent framework but the
struts2
--- On Sat, 12/13/08, yorlick kilroy wrote:
Any way heres what I did. I replaced the struts2 tags
with JSTL Core tags: [...]
Are you accessing value stack objects via JSP 2.0 EL's ${...} notation, or have
you put values into a JEE scope?
Dave
since I'm replacing all struts2 accessor tags and expressions in my
jsps I use the '$' instead of the '%' and '#'. Obviously there are
convenience drawbacks such as the s:push tags that let you push a
value onto the ognl stack but the performance advantages overweigh the
conveniences that struts2
--- On Sat, 12/13/08, yorlick kilroy wrote:
since I'm replacing all struts2 accessor tags and expressions
in my jsps I use the '$' instead of the '%' and '#'.
If you're accessing value stack objects via ${...} it's still OGNL under the
hood--the S2 request wrapper will look for objects on the
but then howcome I'm getting such immense perfomace increases. I did a
bit of profiling in eclpise IDE and it turned out that OGNL is the
main performance killer ?
On Sat, Dec 13, 2008 at 11:53 PM, Dave Newton newton.d...@yahoo.com wrote:
--- On Sat, 12/13/08, yorlick kilroy wrote:
since I'm
,there is no problem at database side
plese help me if anybody can do
--
View this message in context:
http://www.nabble.com/Performance-issue-tp20949820p20949820.html
Sent from the Struts - User mailing list archive at Nabble.com
,there is no problem at database side
plese help me if anybody can do
--
View this message in context:
http://www.nabble.com/Performance-issue-tp20949820p20949820.html
Sent from the Struts - User mailing list archive at Nabble.com
That worked nicely!
Thanks Felipe.
Laxman
-Original Message-
From: Felipe Rodrigues [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 22, 2007 7:08 PM
To: user@struts.apache.org
Subject: Re: Major performance issue while displaying data in
tabbedPanel
Copy the template dir under
: sexta-feira, 23 de março de 2007 12:41
Para: Struts Users Mailing List
Assunto: RE: Major performance issue while displaying data in tabbedPanel
That worked nicely!
Thanks Felipe.
Laxman
-Original Message-
From: Felipe Rodrigues [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 22, 2007
from browser link.
We are using IE 6.0
I would appreciate your comments/feedback.
Thanks,
Laxman
--
View this message in context:
http://www.nabble.com/Major-performance-issue-while-displaying-data-in-tabbedPanel-tf3450811.html#a9626072
Sent from
a faster speed? Currently the speed is not acceptable for production.
Regards,
Zheng Shuai
--
View this message in context:
http://www.nabble.com/The-performance-issue-about-OGNL-tf3291137.html#a9157447
Sent from the Struts - User mailing list archive at Nabble.com
that there are some complains on OGNL about the performance
already, may I know any other way to replace OGNL with anything else to
get
a faster speed? Currently the speed is not acceptable for production.
Regards,
Zheng Shuai
--
View this message in context:
http://www.nabble.com/The-performance
else
to
get
a faster speed? Currently the speed is not acceptable for production.
Regards,
Zheng Shuai
--
View this message in context:
http://www.nabble.com/The-performance-issue-about-OGNL-tf3291137.html#a9157447
Sent from the Struts - User mailing list archive at Nabble.com
about the performance
already, may I know any other way to replace OGNL with anything else
to
get
a faster speed? Currently the speed is not acceptable for
production.
Regards,
Zheng Shuai
--
View this message in context:
http://www.nabble.com/The-performance
is not acceptable for
production.
Regards,
Zheng Shuai
--
View this message in context:
http://www.nabble.com/The-performance-issue-about-OGNL-tf3291137.html#a9157447
Sent from the Struts - User mailing list archive at Nabble.com
On 2/27/07, Shuai Zheng [EMAIL PROTECTED] wrote:
First of all, when I saw Vlad's email, I copy out the template and delete
the original from struts-core.jar.
You shouldn't have to delete the one in the JAR. The one under WEB-INF
is earlier on the classpath, and it's first come first served.
Can you post a copy of the page? We really need to drum up a set of
benchmarks to run ourselves, and this type of page sounds like it
would be a good test case.
Back in the day, there was a common phenomenon where if a page hit
fifty JSP tags, performance suddenly bottomed out. I wonder if some
the speed is not acceptable for production.
Regards,
Zheng Shuai
--
View this message in context:
http://www.nabble.com/The-performance-issue-about-OGNL-tf3291137.html#a9157447
Sent from the Struts - User mailing list archive at Nabble.com
If it is your case, you could make it faster, you have to extract
templates
out of webwork.jar (in your case probably struts.jar) and put them in, for
example, WEB-INF/templates directory.
Just to know, I saw this many times but without doing this and using
only template_update_delay in
There is a page on WebWork Wiki about it:
http://wiki.opensymphony.com/display/WW/Performance+Tuning
Phil,
Since you added this page to the WW wiki, did you also want to add it
to the S2 docs?
I would suggest putting it in the Configuration section, between
Wildcard Mappings and Application
commands, e-mail: [EMAIL PROTECTED]
--
View this message in context:
http://www.nabble.com/The-performance-issue-about-OGNL-tf3291137.html#a9159500
Sent from the Struts - User mailing list archive at Nabble.com.
-
To unsubscribe
Ok.
I understand. I thought that there was no cache at all.
In development, I also need tempalte to be reloaded as soon as possible.
But in production, I don't care at all so this si not, for me, a
performance issue ...
Thanks
Mike
Vlad2006 a écrit :
Hi Mike,
As written in the Wiki
Dear All,
I am using struts 2.0.6, but honestly the performance is very bad (not need
to think about scalability), to speed to load a simple page is much slower
than pure JSP (I haven't compared with struts 1). To refresh one page it is
3-5 seconds with only one user. The profiler tells me the
Thanks again Leon :)
2007/1/4, Leon Rosenberg [EMAIL PROTECTED]:
there are 4 scopes or visibilities/lifecycles of attributes in the
servlet/jsp world.
page : the jsp page, same as local variable in a class.
request: the duration of the request over multiple pages
session: the duration of the
Leon!!! something happen... I applied your solution putting the objects in
the request in the preExecute method of the base action, and all works
fine, but... when the user made a mistake, for example leave a required
field in blank, and the ActionErrors validate method of the ActionForm
return
Hmm,
can you send some code?
What kind of validation do you use? Serverside or js?
I suppose it happens because the validation-whatsoever send the user
directly to use jsp bypassing the action.
If you need a quick and dirty solution, alter you preExecute method to
put the objects into the
Thanks Leon!!!
Ok I made it using the servletcontext like you have said :-), with this
servlet.getServletContext().setAttribute(objHospital, objHospital);
All works fine, even if the user made a mistake :)
One question:
1- I dont understand something about the servletContext, which is the
there are 4 scopes or visibilities/lifecycles of attributes in the
servlet/jsp world.
page : the jsp page, same as local variable in a class.
request: the duration of the request over multiple pages
session: the duration of the user session, over multiple requests
application scope: the whole
Hi all, I'm using struts framework on my application, but I have a
perfomance question.
When my application starts I load objects in session that may or may not
will be used (depends on what the user does), for example I load the health
centers, hospitals, countries, etc, that will be available
If those lists are not user-dependant, you can put them in application
context. This way, they will be shared by all your users.
If they are user-dependant, I think I would have done a bean that
provides properties that get data from db on the fly.
Of course, if an error occur, it will be
Hi Mike, the list are not user-dependant, I load those list from the
database, and are the same for all users, but how can I put then on the
application context??
2007/1/2, Mike Baroukh [EMAIL PROTECTED]:
If those lists are not user-dependant, you can put them in application
context. This
-- Forwarded message --
From: Daniel Chacón Sánchez [EMAIL PROTECTED]
Date: 02-ene-2007 11:52
Subject: Re: Performance issue
To: Struts Users Mailing List user@struts.apache.org
Hi Mike, the list are not user-dependant, I load those list from the
database, and are the same
Assuming the lists are user dependent..
1)You should run some profiling and load tests.There may be no performance
issue in the first place.
2)Keep the actual content of the lists in application scope and only the ids in
session.Lets say you have to show {New York,London,Toronto}; keep an int
The easiest way is to initialize the data once in the
init(ServletConfig) method of the servlet and put them into the
application scope (servletcontext). The struts tags will be able to
access the data directly, so you don't need to change a bit.
Of course the data structures theirself must be
Thanks
Leon, about using the servlet context, I read that on a distributed
application the share information of the servlet context is not entererly
global right?:
*...In the case of a web application marked distributed in its deployment
descriptor, there will be one context instance for each
On 1/2/07, Daniel Chacón Sánchez [EMAIL PROTECTED] wrote:
Thanks
Leon, about using the servlet context, I read that on a distributed
application the share information of the servlet context is not entererly
global right?:
Right, but since the data is readonly its ok to have a copy per
Thanks Leon!!!, I got it!!!
2007/1/2, Leon Rosenberg [EMAIL PROTECTED]:
On 1/2/07, Daniel Chacón Sánchez [EMAIL PROTECTED] wrote:
Thanks
Leon, about using the servlet context, I read that on a distributed
application the share information of the servlet context is not
entererly
global
u welcome :-)
L
On 1/2/07, Daniel Chacón Sánchez [EMAIL PROTECTED] wrote:
Thanks Leon!!!, I got it!!!
2007/1/2, Leon Rosenberg [EMAIL PROTECTED]:
On 1/2/07, Daniel Chacón Sánchez [EMAIL PROTECTED] wrote:
Thanks
Leon, about using the servlet context, I read that on a distributed
Mailing List
Subject: Re: Performance issue
The easiest way is to initialize the data once in the
init(ServletConfig) method of the servlet and put them into the
application scope (servletcontext). The struts tags will be able to
access the data directly, so you don't need to change a bit.
Of course
Hallo,
I'm using the struts file upload with Struts Version 1.1.
If I try to upload big files there is a performance problem. For a file of
40Mb the upload needs about 20 minutes before the action is executed. I need
the file upload for storing big files 1Gb in the database. The storing in
the
You need to store 1GB files in a database? Yea, so good luck with that ;)
On Monday 10 May 2004 08:07 am, Ralf Alt wrote:
Hallo,
I'm using the struts file upload with Struts Version 1.1.
If I try to upload big files there is a performance problem. For a file of
40Mb the upload needs about
If its an upload what speeds do you get using ftp as a comparison ?
Sure once its uploaded saving to the db may not be very long, slowest
part is always going to be the network.
On 10 May 2004, at 17:07, Ralf Alt wrote:
Hallo,
I'm using the struts file upload with Struts Version 1.1.
If I
To: Struts Users Mailing List
Subject: Re: Struts File-Upload performance issue
You need to store 1GB files in a database? Yea, so good luck with that ;)
On Monday 10 May 2004 08:07 am, Ralf Alt wrote:
Hallo,
I'm using the struts file upload with Struts Version 1.1.
If I try to upload big files
Ralf,
What is the speed of your connection? What is the
speed of the client's connection? How fast is your
server? What is the load on the server? You need to
consider those questions before pinning the problem on
the Struts file upload.
Regards,
Richard
--- Ralf Alt [EMAIL PROTECTED] wrote:
like to know if anybody has further comments on it. Thanks,
Kathy
-Original Message-
From: Hookom, Jacob [SMTP:[EMAIL PROTECTED]
Sent: Monday, May 10, 2004 12:18 PM
To: 'Struts Users Mailing List'
Subject:RE: Struts File-Upload performance issue
Yeah, FTP is the way to go
]
Sent: Monday, May 10, 2004 10:14 AM
To: 'Struts Users Mailing List'
Subject: RE: Struts File-Upload performance issue
Jacob,
I agree with you. I do not think this is a struts issue. Java is not a
good tool for large file uploading.
We run into the similar issue before. We built a web interface
/uploadbean.html
For your info,
Kathy
-Original Message-
From: Daniel Kalcevich [SMTP:[EMAIL PROTECTED]
Sent: Monday, May 10, 2004 1:25 PM
To: Struts Users Mailing List
Subject: RE: Struts File-Upload performance issue
There is a package called edtFTPj that allows you to perform
/uploadbean.html
For your info,
Kathy
-Original Message-
From: Daniel Kalcevich [SMTP:[EMAIL PROTECTED]
Sent: Monday, May 10, 2004 1:25 PM
To: Struts Users Mailing List
Subject:RE: Struts File-Upload performance issue
There is a package called edtFTPj that allows you to perform
sufficiently advanced technology is indistinguishable from magic
Life is short, play hard
-Messaggio originale-
Da: Ralf Alt [mailto:[EMAIL PROTECTED]
Inviato: lunedì 10 maggio 2004 17.08
A: [EMAIL PROTECTED]
Oggetto: Struts File-Upload performance issue
Hallo,
I'm using
87 matches
Mail list logo