-1

I now have my first bigger project of my own. I invested around 500 working hours and the project is done. It's actual ASP.Net with C# and Linq to SQL, the platform is an MS SQL Server 2005 Express edition on a Windows server 2008 Web edition - which costs me 40€ / month (free sql and server 40€)

After going live, the website has around 20 to 50 simultaneous users.

The site is slowing down more and more, I spent the last 20 work hours to make the database queries more performant but only to get site load times from 10s down to 9,0s.

I really invested a lot of time in diagnosis and it looks like it is the database / DBMS that is slowing everything down!

I know about the specific limitations of the SQL Server Express edition - e.g. 1GB of RAM, but in my case CPU and memory usage by the SQL server should be minimal: 5-10 queries per user per minute x 20 users = 100-200 queries per minute.

In case I need another DBMS: is there a equivalent to MS SQL server that is free and without limits? (i dont think MySQL is possible with Linq to SQL on a allready finished project atm). As this is for a non-profit organization, I unfortunately do not have the money to spend even for the Standard edition of SQL Server.

UPDATE 1

Details:

Server: AMD Opteron™ 1381, Ram: 4GB, 64Bit,

Site is: http://www.rpone.de/FeatureList.aspx

The application uses 7 different queries which are rather simple like get a user from user table where userID == userid and such things, nothing special at all.

The schema is very normal: I have all PKs as Guid, all Tables have FKs.

I will be glad to provide more detailed information if needed.

7
  • What are the server specifications ? What and how many queries will each user run ? can you share your database schema ? table indexing can lower the load, do you have proper indexes set ? Also, is it an option to convert to MySQL ? Commented Sep 24, 2013 at 11:56
  • See Update please. Commented Sep 24, 2013 at 12:08
  • I really really dont know if MySQL is a good solution. Commented Sep 24, 2013 at 12:14
  • 1
    Sql Server Express will use more than 1GB of RAM, but I don't think that's your problem. 20-50 users is nothing... Commented Sep 24, 2013 at 13:31
  • 2
    why do you think that another DBMS would help you? Did you collect any performance data indicating that a) the DBMS is indeed overloading your system and b) that it could be mitigated by another SQL server edition? How large is your database? Commented Sep 24, 2013 at 23:21

1 Answer 1

2

If you cannot use MS SQL express and you cannot afford full MS SQL Server, then the only option is to port your application to a new database back-end that you can obtain for free, like Postgres or MySQL. MS SQL Express limitations should have been explored during your design phase. Unfortunately, there's no ignore_express_limits variable to set. What you've got it what you've got.

And while you're porting your code, you should consider running it on a more modern OS. Server 2008 is 4 generations old now.

3
  • Does it makes a huge difference on 2008 or 2012? Commented Sep 24, 2013 at 13:03
  • For what? The version of MS SQL or the version of Windows Server? You're using very outdated versions of both. Commented Sep 24, 2013 at 13:09
  • I agree but can this cause such a very big performance isue? Commented Sep 24, 2013 at 13:35

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.