• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Performance - How to justify

 
John Lincoln
Ranch Hand
Posts: 192
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I am working on NFR, mainly performance now. Not sure how to justify. Please suggest

thanks for all the help
 
Vijaykumar Dixit
Ranch Hand
Posts: 32
Eclipse IDE Java Tomcat Server
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You can look into initial chapters of Cade's book about NFRs. It describes how to achieve performance. Just reflect on your design and see if you have followed those directions. I guess then you will know the justification automatically.

One example from my assignment. I have used JPA so one of my justifications would be you get easy lazy or eager object intialization feature in JPA which can be utilized to improve performance.
 
Rishi Shehrawat
Ranch Hand
Posts: 218
Hibernate Java Spring
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The decisions that you have made to improve performance need to be highlighted. Some examples could be to caching, process asynchronously, etc.
 
Krzysztof Koziol
Ranch Hand
Posts: 133
Eclipse IDE Java Spring
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Vijaykumar Dixit wrote:
One example from my assignment. I have used JPA so one of my justifications would be you get easy lazy or eager object intialization feature in JPA which can be utilized to improve performance.


Is your design EJB-Centric or Web-centric? I'm wondering how can you get benefit of lazy loading when using EJB-Centric approach since all required data should be fetched in the transaction scope which is during EJB method call.
 
Vijaykumar Dixit
Ranch Hand
Posts: 32
Eclipse IDE Java Tomcat Server
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
My design is EJB centric. Having said that there are instances where data displayed on presentation layer is split into summary page and details page.

Here suppose jpa entities are detached when passed over to web tier in case of summary display all collections within don't need to be initialised. However on details page, EJB will make sure complete entity is fetched.

Hope I am talking sense.
 
Krzysztof Koziol
Ranch Hand
Posts: 133
Eclipse IDE Java Spring
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ok, I see your point now. I think it makes sense that based on what needs to be presented an entity could be loaded with its related entities or not.
 
Arnold Reuser
Ranch Hand
Posts: 196
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
@John:

The two factors that determine the system performance are as follows:
* Processing time—The processing time includes the time spent in computing, data marshaling and unmarshaling, buffering, and transporting over a network.
* Blocked time—The processing of a request can be blocked due to the contention for resources, or a dependency on other processing.

It can also be caused by certain resources not available; for example, an application might need to run an aggressive garbage collection to get more memory available for the processing.
Besides increasing the system capacity and using more efficient algorithms one can also introduce cached copies of data.
Cached copies of data can be used to reduce the computation overhead, as follows:
* Introduce concurrency to computations that can be executed in parallel.
* Limit the number of concurrent requests to control the overall system utilization.
* Introduce intermediate responses to improve the performance perceived by the user.

To improve the system throughput, it is common that a timeout is applied to most of the long-lasting operations, especially those involving the access to an external system.
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic