none
User/business/data tiers on same physical server? RRS feed

  • Question

  • What is better for performance, to put the user tier (web app), business tier (class libraries) and data tier (SQL database) all on the same physical server, or separate ones?

    In our situation, we have only a dozen or so users, but they each run pretty big processes (and often at the same time).  Currently, they have thick Windows clients with the class libraries going with the client app to each machine.  The class libraries then make calls to a database on its own server.  Our performance is bad, though, as client PCs and the wireless LAN are pretty weak.   All that data is being brought down to the client PC for processing and then send back up.  It doesn't seem efficient, but if we had an app server, it would also be bringing that data across the LAN to it for processing (albeit wired not wireless).

    We're putting in an $11k database server so I can't really justify a separate server for web app or even just class the libraries (accessed via WCF), so I was thinking the big new server could be an all-in-one.  But is that bad for any reason?

    Thanks.
    Saturday, October 6, 2012 3:43 PM

All replies

  • What I understand is client is running job on copy of data. It is best to keep the data and massive processing on centralized database. What client can do is send the command to server to start processing. Server can then let the client know if the processing is complete or not.

    Also you can replicate the data from main server to client database, and each client can then send command to its database to start processing.

    Its always costly to transfer data across the network, and then do the processing. Instead keep the data and processing on the server, and let the client start the processing on server. Each client then need not worry about the network bandwidth.

    Monday, October 8, 2012 6:59 AM
  • I have to say that whilst network performance is certainly an important issue, it sounds more like the design of the solution hasn't taken performance into account. Chances are you'll get far better performance by taking another look at the design rather than looking at hardware and/or physical locations. It's not an absolute truth, but when I see, 'were upgrading our database server to solve performance' it usually ends up becoming an unsatisfactory money pit. IMO these are things to improve/tweak performance rather than solve a big issue.


    http://pauliom.wordpress.com

    Friday, October 12, 2012 8:45 AM