Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

three or multi tier application - performance

 
ankur rathi
Ranch Hand
Posts: 3830
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

In case of three or multi tier application:

Good. Because the system is scalable, performance can be influenced by choosing the right system components.
Bottlenecks can be removed at the relevant layer.


I think, if the code is disributed accoss various component, it will reduce the performance.
 
ankur rathi
Ranch Hand
Posts: 3830
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by ankur rathi:


I think, if the code is disributed accoss various component, it will reduce the performance.


Why? Because of time consumed between process calls (might be due to network if tier are not on same machine etc).
 
Cameron Wallace McKenzie
author and cow tipper
Saloon Keeper
Posts: 4968
1
Hibernate Spring Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If I have a huge project to complete, I can get it done faster with 10 employees than I can with 1 employee. Similar, you can handle a huge workload better with ten machines than you can with just one.

-Cameron McKenzie
 
ankur rathi
Ranch Hand
Posts: 3830
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Cameron McKenzie:
If I have a huge project to complete, I can get it done faster with 10 employees than I can with 1 employee. Similar, you can handle a huge workload better with ten machines than you can with just one.

-Cameron McKenzie



Thanks Cameron but I am still not convinced.

Multi-tier architecture: View - Controller - Model - Integration Layer - Resources (Legacy System etc). It's 5 tier architecture, right?

Now controller is good to have to have single point of handling to requests, add layers, provides transparency, easy to modify flow later on etc etc etc. But whatever it does is additional things not business process, but consuming execution time. If controller uses XML file then parsing time, then time to search for an appropriate action etc going no where. Same for integration layer.

If this kind of information is hard coded in files (JSPs, POJOs) then they will save executing one layer.

It's only my thoughts. Please correct me if I am wrong.

Thanks.
 
amit taneja
Ranch Hand
Posts: 813
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
controller and integration layer have its own role.. like in my co. we maintain bigtelcomecomofindia.com and different other application like sms, ussd for which source of data is same, so we put controller and integration layers and exposed services as webservices so any body can use it and make it modulor.. as far as distribution of work is there.
like our sms application get many lacks of hits perday, so clustering is done on servers ... also use of mq-series product used to make it asychronous repsonse.. and like that

so depends on scenerio how many tiers will be there ...

hope rathiji.. you rememeber me and also understand me what i said above...

takecare
amit
[ October 01, 2007: Message edited by: amit taneja ]
 
Cameron Wallace McKenzie
author and cow tipper
Saloon Keeper
Posts: 4968
1
Hibernate Spring Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think you need to divide the discussion between a layered hardware architecture, and a layered application architecture.

If you ask me if it takes longer to do 100000 things, or 1 thing, well, it would take longer to 100000 things. So, more layers do increase the number of steps, although in reality, the steps for doing things like parsing XML, in the big picture, usually are fairly insignificant on a properly designed system where there are ample resources. We don't layer appliatiosn for performance reasons - we layer them for maintainability and separation of concerns.

With a layered architecture, with 100000 things to do, you can do those 100000 things faster with multiple pieces of hardware specializing in specific tasks. That's your layered deployment architecture. A layered architecture is more scalable, and specialization provides for significant performance gains.

-Cameron McKenzie
 
ankur rathi
Ranch Hand
Posts: 3830
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Amit and Cameron for good explanation.

Yes Amit, I do remember you.
[ October 03, 2007: Message edited by: ankur rathi ]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic