0

I have develop a web application in MVC4 it is a application about credit and financing. Application is used by 40 to 50 users at a time. Application reporting is very heavy takes 2 to 3 minutes in generating.

I am using single db user 'sa'

Now I am thinking to create all application users in server 2008 also. Each application user will connect with own db user not with 'sa' user my question is that is It right decision?

It will increase my application performance? If it is not right then how i can increase its performance? as 40 users taking reports with single 'sa' user may be take more time instead off each user taking with its own database user.

2
  • 2
    It will not improve performance, but it will massively improve security. Oct 28, 2016 at 9:34
  • 40 SA connections or 40 Different user connections, It's all going to use the same amount of resources when a new connection is created with the DB. It will not improve performance.
    – Midhun C N
    Oct 28, 2016 at 9:51

2 Answers 2

1

First of all: DO NOT USE 'sa' account.

Create database roles for the application with appropriate permissions, reader, writer, executor etc, with only permissions the application requires.

Secondly, is there any reason this server is not on the Windows Domain? It is preferable to handle permissions via AD Security Groups and service accounts (and managed service accounts) rather than SQL accounts. The benefit is simplified management and increased security - Kerberos vs plain text passwords.

EDIT : as I have not answered your question. In your case the number of users is irreleveant as they transalate to number of requests and spawned workers/threads. You are asking database to serve 40 reports, no matter if they all come from 1 user, or 40 users asks for 1 report, the end result is still 40. In extreme situations it may be preferable to have less users to save resources and time on creating new connections as each takes tiny amount of memory but that is a whole different conversation.

Hope this helps.

0
0

100% agree with Marcin Gminski. The SA account is definitely not supposed to be used this way. Windows domain credentials certainly are preferable although not necessary. If you are going to use a single login account for all users, at least create a new login that is not a part of the System Admin role and make sure it has a strong password.

As for your performance issue, we would need to know more. First off, what is your method used for data access in the MVC app. Are you using Entity Framework, Linq or something else? Next, have you debugged the app to see if it is making excessive, unnecessary calls to the database. Next, have you attempted to run a SQL Profiler trace to capture the activity on the server? Those steps should at least provide a little more insight in to where the problem exists.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.