1

My last project is a medium size asp.net web forms application. It is built using:

  • asp.net 3.5
  • ling to sql dbml --> sql server database (9 tables)
  • ext.net 1.6 (www.ext.net)
  • structuremap 2.5.3.0

This time I believed I did my best in terms of architectural design, code and data transfer optimizations. I followed all advice I could to work with the database efficiently through linq to sql and I built layers (model, repository, service, presentation) to separate concerns and lightweight the code in the aspx code behind files.

The problem is: I've installed the application in various web hosting servers with the same pitiful result: the application is struggling to work... pages are loading like in slow motion...

In the past I would say 'OK, I didn't do all I could to speed things up' but in this case I really tried to apply the best practices...

Is there anything else I can do about it? Or is it just asp.net for really small projects only?

thank you.

4
  • 5
    `"asp.net for really small projects only" -- Ironic considering you asked on this site. Commented Feb 22, 2013 at 15:31
  • As an aside, I recommend installing Glimpse via NuGet. It does a great job at examining load times and possible bottlenecks in terms of what views were loaded on what controllers, etc. Commented Feb 22, 2013 at 15:35
  • 1
    Have you done any tracing or profiling to determine where the slow-downs are? Commented Feb 22, 2013 at 15:40
  • You obvously have some performance problem somewhere that needs profiling, as the site is not very large at all. I consider our site to me medium size, and it runs on two web servers, one database server, 100+ tables, handles ~500 requests per second... Commented Feb 22, 2013 at 15:48

2 Answers 2

5

ASP.NET is fine for building large scale websites. As Brad mentioned, StackExchange sites are built using it, and StackOverflow is a very busy site indeed.

What you need to do first is measure performance; until you do that, you're just guessing at where the problem areas are.

So start with the browser - use a tool such as Firebug, or YSLOW, Google Chrome dev tools, whatever takes your fancy and run your site using the tool enabled. The tools can let you know how long things are taking to process eg requests, how long content is taking to download etc.

YSLOW will also give you some tips on anything it finds as being a bit slow e.g. you're making to many HTTP requests, you should consider minifying your CSS/JS files. You will get a general overview of how the site is performing and where problems could be.

To dig a bit deeper, use a tool like RedGate's ANTS Profiler, use the trial version and measure your website, and server side code, with that tool. There are other tools, though I'm not aware of any free ones.

Sign up to request clarification or add additional context in comments.

3 Comments

Thank you for both your prompt replies and comments. I understand profiling is necessary but let me explain a bit further: the very first page any visitor will encounter in my application is the login page, which loads in a reasonable amount of time. When the Login button is clicked things get out of hand: 30+ seconds of non activity before the default page loads?!? The login event handler does only the absolutely necessary: check the user credentials with aspnetdb and redirect. How can I profile that? The code behind is absolutely straight forward! The site DLLs are already loaded, no?
Try RedGate's ANTS Profiler trial. That's a great tool. A colleague of mine recently used it to find bottlnecks in our website code.
ANTS Profiler indicates asp.net's ValidateUser as the culprit. Specifically, a > 15 seconds delay during which period there is no browser activity. Also, mentioned here stackoverflow.com/questions/15277242/…
0

My first question is that when its slow. Did you try your project in Local area network. Please check first there. If there slow then you need to improve little bit. This slow performance depends on many things such as large data load, multiple logic on one page etc.

Please let me know.

Thanks Basit.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.