CodeSmith Community
Your Code. Your Way. Faster!

.netTiers Performance

Latest post 08-28-2007 10:07 PM by SuperJeffe. 9 replies.
  • 08-21-2007 1:32 PM

    • molox
    • Not Ranked
    • Joined on 08-21-2007
    • Posts 4
    • Points 140

    .netTiers Performance

    Hi Everyone,

     First of All Congratulation for this great program and template, it is a magical thing :)

    I am amazed by what CodeSmith&.net Tiers do, but when i go deep in the code, i felt suspicious about Performance hits. i feel like there are so many utilities that make extra controls (like checking resultset to decide where the data should go, dataset or an entity , vs vs vs)

    i could not have enough time to get deeper but, before going deeper :), i want to ask:

    Does the code (code smith + .net Tiers) will create performance troubles. How far can it go ?

    For example , will it be able to handle Personel Web site (obviously not :) )
    or a Forum Site with All entities working
    or Online Sales Commerce Site ?
    or this template is best for projects that do not need performance in the first place, but need to do various things as much as possible like, ERP - CRM projects ?

    Thanks in Advance

     

    Erdem

    • Post Points: 35
  • 08-21-2007 2:00 PM In reply to

    • swin
    • Top 10 Contributor
    • Joined on 06-14-2006
    • London, UK
    • Posts 925
    • Points 34,785

    Re: .netTiers Performance

    I can't see you having any problems with netTiers for the types of system you've listed.

    Sure, netTiers isn't going to be as performant as some highly tuned code, but its going to do the job well and probably in about a 1/10th of the development time.

    I'm using netTiers in a banking system in which we have a web site, web service and various other windows services pumping large volumes of data in and out of the database (Sql2K) and we've had no real problems so far.  In fact the code has been incredibly stable and I can't think of any problems we've had in our system that has been down to netTiers code.

    Of course there are things that you should and shouldn't do in your system, but they apply generally to any database system and not just netTiers.

    All I can say is give it a go and see what you fine - you get a 30 trial with codesmith so it won't cost you anything.

    hth

    swin

    ------------------------------------------------- Member of the .NetTiers team -------------------------------------------------
    • Post Points: 35
  • 08-21-2007 2:32 PM In reply to

    • molox
    • Not Ranked
    • Joined on 08-21-2007
    • Posts 4
    • Points 140

    Re: .netTiers Performance

    Thanks for quicky reply,

    In fact i am in position of deciding to Use or Not User .netTiers in project that i am going to begin in a few days. (i do not have enough time to do analysis,etc)

    I downloaded demo and i am triying to understand Code for a few days. I think CodeSmith + .net Tiers have a great , mature Framework. But the thing is, project i am just beginning, will need high performance.

    Project i will start would be friends community site like orkut.com (probably will not have same volumei but concept will be same), which mean there will be many concurrent users using site at same time. So especially i am concerned about Performance of DALC and Business Objects.

    I dont want to say , "ooh i can not go on with .net Tiers, at the end of development, in stress tests." and also i would not prefer to lose time on making performance improvements (that will make me lose time, that i get by using Codesmith :)   )

    So i need your opinion.

    if you are using .net Tiers in banking system, then you can say me : "relief, you do not need to be concerned, you can use .net Tiers" :)

    pls, make me relief :)

    Thank you very much

    • Post Points: 65
  • 08-21-2007 4:19 PM In reply to

    • swin
    • Top 10 Contributor
    • Joined on 06-14-2006
    • London, UK
    • Posts 925
    • Points 34,785

    Re: .netTiers Performance

    ...not sure about making you "relief", but maybe relaxed - you can use netTiers.

    Obviously I now need to go into some small print saying how you can't hold me responsible if it all goes t!t$ up!Stick out tongue

    hth

    swin

    ------------------------------------------------- Member of the .NetTiers team -------------------------------------------------
    • Post Points: 35
  • 08-22-2007 2:22 AM In reply to

    • molox
    • Not Ranked
    • Joined on 08-21-2007
    • Posts 4
    • Points 140

    Re: .netTiers Performance

    sorry about my english, i think relief is wrong word :)

    by the way ,i sent you  a mail about agreement , you  just click "I accept" checkbox and reply it to meBig Smile

    thank you very much

    All your help is greatly appriaceted

    • Post Points: 5
  • 08-22-2007 8:47 AM In reply to

    Re: .netTiers Performance

    Reply |Contact |Answer

    I've used Nettiers in a couple of projects and the performance goes well on heavy load scenaries. One key concept is not go to production with the generated code as is, you can do many things about performance. First you can tune the NetTiers features like disable Entity Tracking and a thing not related to NetTiers is implement an agressive cache strategy. This cache strategy can involves Object Cache, Method result cache(if you use Enterprise Library you can done via configuration) and Page/Page Fragment cache. After this relax!

     

    Martin Olivares http://martinolivarespick.blogspot.com/

    Filed under:
    • Post Points: 35
  • 08-22-2007 11:26 AM In reply to

    • swin
    • Top 10 Contributor
    • Joined on 06-14-2006
    • London, UK
    • Posts 925
    • Points 34,785

    Re: .netTiers Performance

    Hi Martin,

    Can you expand on some of the things you do with regards to your cache strategy.

    Thanks

    swin 

    ------------------------------------------------- Member of the .NetTiers team -------------------------------------------------
    • Post Points: 35
  • 08-22-2007 9:30 PM In reply to

    Re: .netTiers Performance

    Reply |Contact |Answer

    Cache and Performance tuning its a wide concept, but a few things that can do for the project that goes to develop molox can be:
    1) Using the Policy Injection Application Block of Enterprise Library v3.1 cache the result of some methods for example: get lists, get categories, get users online, get top posters, get top posts
    2) Cache the objects that have high demand across all pages, like the profile of logged user
    3) For that user controls that are naturally static or nearly static configure the directive @OutputCache. For example: headers, footers, menu
    4) Disable the viewstate from the controls that not requires maintain state

    Martin Olivares http://martinolivarespick.blogspot.com/

    • Post Points: 35
  • 08-28-2007 4:42 PM In reply to

    • molox
    • Not Ranked
    • Joined on 08-21-2007
    • Posts 4
    • Points 140

    Re: .netTiers Performance

    Thank you for  your all advices.

    Martin, I agree that, using Aggressive Cache stragedy and using Outputcache boosts application. i will definitely use that.

    But i do not know much about .netTiers. Actually i did not clearly understand "entity tracking " (i only read about it in .netTiers documentation)  Can you (or swin) explain about it alittle bit. What are good/bad sides. In which circumstances should it be used / not used ?  How does it effect general performance ?

    By the way is there any more comprehensive documentation about .netTiers (and actually .netTier's framework) ? That would be very helpful.

     

    Thank you very much

    • Post Points: 35
  • 08-28-2007 10:07 PM In reply to

    • SuperJeffe
    • Top 25 Contributor
    • Joined on 05-05-2006
    • Tulsa, Ok
    • Posts 432
    • Points 10,820

    Re: .netTiers Performance

    Well, I will chime in here.  I always try and reply to the performance threads since I spent alot of time performance testing Nettiers.

     There is a good thread to checkout how I got started and the results of the testing.  This is not load testing, merely performance testing:

    http://community.codesmithtools.com/forums/p/6101/24490.aspx#24490

    This will also have a link to the first round of testing I did.  Keep in mind, neither of these tests started out well but the team responded very quickly to performance issues.  I have now written an app that tests the performance of key areas we use before I update our templates we use on our project.

    I firmly believe there are instances you do and don't want to use Nettiers.  I will say that it has saved us an uncountless amount of hours developing our system.  It makes the initial development as well as maintenance much easier.  But, at the same time, there are times I do not use it.  Deep loading is one of them(I use nettiers, just create a custom proc to return a dataset).  Deep loading of objects isn't necesarily a fault of Nettiers but more of how Business Objects house child data vs. how datasets use it.  Just keep in mind, if you can create a bare bones business object with just properties and use a data reader to populate the list, you will always get the best performance out of it.  That is not to say Nettiers has bad performance...I personally think Nettiers performance is outstanding.  You just need to understand there is alot of code in nettiers.  For a community site, I can't see how nettiers could go wrong.  If a banking application can use it, I would think anything could.  We are litteraly doing thousands of inserts and updates every minute at our peak system usage in the afternoons and we don't have any issues with Nettiers keeping up.

     My only advice is to not use Deepload unless you are doing a single object deepload.  Like deeploading 1 customer.  Don't deepload 1000 customers, it will take forever.

    Read some of the my other posts, I post about this often.  I don't think you will be disapointed at all in using Nettiers.  It gives you lots of flexibility and you can easily write custom methods where you think the performance of certain things aren't what you expect.

    jeff

    ----------------------------------------------------------------------
     Member of the .NetTiers team | Visit http://www.nettiers.com
    ----------------------------------------------------------------------

    • Post Points: 5
Page 1 of 1 (10 items) | RSS
Copyright © 2008 CodeSmith Tools, LLC
Powered by Community Server (Commercial Edition), by Telligent Systems