• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

3-tier application application tuning

 
Ranch Hand
Posts: 270
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Given that there are some performance problem in a 3 tier (web-EJB-DB) application, what are the steps to resolve ......

an interview question. Thanks.
 
Ranch Hand
Posts: 5093
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
analyse
fix
test

Usually you'll find the problems are either database or webserver configuration possibly mixed with inefficient database queries.
 
Yi Meng
Ranch Hand
Posts: 270
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Jeroen Wenting:
analyse
fix
test


faint...... he is actually asking how to analyse/locate the problem......
 
Ranch Hand
Posts: 3178
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Yi Meng:

how to analyse/locate the problem......



Check whether appropriate design patterns are applied among the 3-tier(web-EJB-DB) usage... I think the interviewer expects the keywords "proper design patterns" from you...
 
Ranch Hand
Posts: 724
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Analyzing of bottlenecks depends on which technology you are using.
At first analyze SQL queries. Than the webcontainer settings, connection pools and webserver.
 
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
(0) Experience tells us 80% of problem comes from 20% of source. So be confident that you will find out the causes, and if you fix some major causes, you can fix the problem.
(1) First, find out which tier is the performance bottleneck (web/app/db). CPU/MEMORY/IO/NETWORK bandwidth. This can be figured out fairly quickly.
(2) After you locate the tier contributing the most of the performance problem, you need to dive into each area. For example, web tier may be serving too much static information, and you need to either use akamai or redesign front end with minimal amount of images. For app tier, jsp/servlet/ejb will each have its own problem area and this is related to code and deployment setting. For database, a long transaction could be the reason of poor performance.
(3) Use tools like JProbe/PerformaSure to make your analysis easier and objective
 
Ko Ko Naing
Ranch Hand
Posts: 3178
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
As for DB Performance tuning, it's out of Developer's control, but it's of DBA, I guess... I don't think an interviewer will expect such DB performance tuning solutions from you, if you are applying for a developer position...

But as for Web tier and Business tier, developers should be able to reply the interviewer with satisfiable answers...
 
Yi Meng
Ranch Hand
Posts: 270
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by William Wayne:
(0) Experience tells us 80% of problem comes from 20% of source. So be confident that you will find out the causes, and if you fix some major causes, you can fix the problem.
(1) First, find out which tier is the performance bottleneck (web/app/db). CPU/MEMORY/IO/NETWORK bandwidth. This can be figured out fairly quickly.
(2) After you locate the tier contributing the most of the performance problem, you need to dive into each area. For example, web tier may be serving too much static information, and you need to either use akamai or redesign front end with minimal amount of images. For app tier, jsp/servlet/ejb will each have its own problem area and this is related to code and deployment setting. For database, a long transaction could be the reason of poor performance.
(3) Use tools like JProbe/PerformaSure to make your analysis easier and objective



Thanks William
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic