Is ASP.net WebForms an intensive processor platform?

I work in an asp.net store, and today I heard that the bottleneck on our servers is the processor. I always thought that webapps tend to be I / O and are network attached in front of the processor. Is this ASP.net/IIS? Is this our code? Or am I just completely wrong about all this?

In addition, we publicly access social / trading network sites using web forms. It's not that CPU loading is a problem or something else, our servers can now handle the load. I just found this amazing, because from what I understand about web applications, most of the time the processor is not a problem when it comes to scaling, especially in a compiled language with a fast version like .NET.

+4
source share
7 answers

This is your code. There is nothing inherently intensive in ASP.NET, and I would actually call to question the research that was done to say that the processor was a bottleneck, because if you don't calculate Pi to the billionth decimal point in your web application, I see no reason why it would be possible to wipe the processor all the time.

+6
source

Most likely your code. You cannot categorically say anything about ASP.Net here, like any other computer program - it completely depends on what your application actually does.

There is nothing inherently that processor intensity in serving web pages. I saw how the IIS laptop handles 1200 page requests per second. While it is true that ASP.Net is more tuned for "ease of use" outside the gate, rather than optimal performance, it is not too difficult to tune it for excellent performance.

You can use a profiler like Dottrace or RedGate Ants to find out where your code slows everything down.

+3
source

While blushing first, I would say that “I / O intensity, of course,” the truth is that it depends on what your application feeds.

On the one hand, a multimedia server, of course, would be connected with I / O.

An intensive computing site that only serves plain HTML text pages will be linked to the CPU.

In my experience, I have found that most sites are related to I / O. That is, when additional servers are purchased, this increases the amount of input / output rather than processor performance. I would say that even the most complex site I worked on, which had about thirty servers, would be well served by a single processor. It was the network bandwidth that guided our purchases.

+1
source

I would look at the code to find out if there are performance issues. This site serves nearly 1 million pages per day, and everything seems to be in order. Asp.net is pretty optimized for scalability when writing for this.

+1
source

If you are talking about an intensive processor, its a rather relative term, however. NET is not, but ASP.NET. Web applications that perform thousands of postbacks and recreate / destroy controls for each request are quite expensive.

Think about it this way, in pure ASP.NET (not ajax, old) calculate the visibility / color .. all the attributes of each element of the html page for 1000 users only on the server and distribute them to clients. Not only do these poorly written ASP.NET server controls consume more processor, as they do too much computation.

To improve ASP.NET performance, you need to use AJAX or use RIA, since Flex / Silverlight will drastically reduce the load on the processor, because you can use the client processor to visualize the data.

RIA Client (Flex / Silverlight) + ASP.NET Web Services is the future, I do not have detailed statistics for sharing, but we moved away from ASP.NET almost a year ago, and our CPU usage was reduced to 18% from an average of 99 % to RIA-based websites.

0
source

If you have slow equipment, yes. For most modern servers, no. In most cases, the database will pay more for your processor.

0
source

Run the profiler to see if there are areas in your application that use too much processor or a ridiculous amount of memory. Use the task manager on the server and check if it is running IIS (inetinfo and w3wp), and not some other process. If it is IIS, find out if your application pool is running. use the iisapp command to determine which application pool is assigned to the workflow.

0
source

All Articles