What about profiling or at least adding some log statements to see exactly 
where the time is spent?

 

If it is in JSF rendering:

I do not render any (ajax) command links in datatables or lists anymore.

Instead of this I place one commandlink for each action before the table which 
is called via javascript. This can reduce the size of the generated html, 
render time and network traffic significantly.

Just check the rendered html to see whether this is an option for you.

 

Michael

 

From: Shasi Mitra Yarram [mailto:shasimi...@yahoo.com] 
Sent: Donnerstag, 29. Januar 2009 08:49
To: MyFaces Discussion
Subject: Re: Data table is taking long time to render

 

Hi David- We use ibatis,it takes connections from pool only and we have simple 
select queries. It returns 5000 records out of which we filter(filtering part 
is taken care by business classes) and show atmost 60 records on the page.Each 
record is a commandLink. And i am using t:dataTable with 
preserveDataModel="true". Even if i remove this attribute i don see much 
difference.
I can see that there's a siginificant decrease in the response time if i use 
struts. But as jsf is giving more components and also faster to develop we don 
want to lose the opportunity of using it in our application. But if the 
performance is not upto the mark, clients insist us to use Struts or Spring web 
mvc. Also we have very less time to decide on which framework to use :-( We 
even followed all the performance improvement measures given in myfaces 
wiki..Any suggestions to my problem?

Concurrent users may be atmost 1000.

--- On Thu, 29/1/09, David Griffiths <david_griffi...@shaw.ca> wrote:

        From: David Griffiths <david_griffi...@shaw.ca>
        Subject: Re: Data table is taking long time to render
        To: "MyFaces Discussion" <users@myfaces.apache.org>
        Date: Thursday, 29 January, 2009, 5:43 AM

        Actually, he just said a million users - nothing about concurrent.
         
        Is this wired up to a database? Is a database connection being opened 
for each
        user, or is it a connection pool? What does the query look like? How 
many rows
        on average are you asking the data table to render? I guess I am asking 
if you
        are 100% sure it's JSF, or if maybe it's got to do with some other
        aspect of the application.
         
        There are parts of an application when, for performance reasons, you 
have to
        leave the high-level tools (JSF, Hibernate, Spring) and code lower to 
the
        silicon. Every Hibernate application I've worked on has had SQL over a 
plain
        JDBC connection for performance reasons.
         
        David
         
         
        Richard Yee wrote:
        > What kind of server and how many are you running on? How many CPUs and
        > how much memory? How are you testing it? You might have to tune your
        > database and # of database connections. A million concurrent users is
        > pretty unrealistic.
        > 
        > -R
        > 
        > On Wed, Jan 28, 2009 at 12:02 PM, Shasi Mitra Yarram
        > <shasimi...@yahoo.com> wrote:
        >   
        >> Hi all,
        >> we are designing an application which will have atleast 1 million
        users. As
        >> part of POC we have developed a module with JSF and Spring. Now when
        we run
        >> it with 30 -40 users the page with datatable is taking <5 secs to
        render.
        >> But if we increase the number of users say 100 its taking more than 
30
        >> seconds. As we have not yet started coding we need to decide whether
        to go
        >> with JSF or use struts..Any help is greatly appreciated..I heard and
        can see
        >> too that performance of JSF is pretty slow although the development
        time is
        >> fast..
        >> 
        >> ________________________________
        >> Add more friends to your messenger and enjoy! Invite them now.
        >>     
        > 
        >   

 

________________________________

Add more friends to your messenger and enjoy! Invite them now. 
<http://in.rd.yahoo.com/tagline_messenger_6/*http:/messenger.yahoo.com/invite/> 

Reply via email to