473,397 Members | 2,084 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,397 software developers and data experts.

Application Performance Question

This is a theoretical question, meaning I don't have any specific code
to show.

On a large ASP.NET 1.1 application what is the best way to populate a
forms data fields if you expect a large load? A large load meaning
over 200 users hitting the site 24/7. The goal is to not overload the
web server.

Options are

1. Databinding (doesn't scale well, heavy burdon on server).

2. Using code behind to populate/read the controls. For example:

TextBox1.Text = someDataValue;
....
somdDataValue = TextBox1.Text;

(What would be the performance issues with this)

3. Using <% =someDataValue %> in the aspx page. (Leads to old style ASP
type pages with mixing HTML and code)

4. Other options?

If this has been answered before then please point me in the right
direction.

Thanks!

Jan 12 '06 #1
4 1199
On Thu, 12 Jan 2006 10:27:52 -0800, Darren wrote:
This is a theoretical question, meaning I don't have any specific code
to show.

On a large ASP.NET 1.1 application what is the best way to populate a
forms data fields if you expect a large load? A large load meaning
over 200 users hitting the site 24/7. The goal is to not overload the
web server.

Options are

1. Databinding (doesn't scale well, heavy burdon on server).

2. Using code behind to populate/read the controls. For example:

TextBox1.Text = someDataValue;
...
somdDataValue = TextBox1.Text;

(What would be the performance issues with this)

3. Using <% =someDataValue %> in the aspx page. (Leads to old style ASP
type pages with mixing HTML and code)

4. Other options?

If this has been answered before then please point me in the right
direction.

Thanks!

These may be two other solutions:
1. Generate a template based solution that is rendered directly via a
stored procedure. This may prove to overload the db engine.
2. Generate XML from database, render this XML to client along with XSL to
convert it to XHTML.
Jan 12 '06 #2
First, what kind of web server are you talking about? 200 users sounds pretty
small to me. Users can only click so fast, so there is plenty of lag to scale
up.

Let's see your potential solutions:
1. Databinding (doesn't scale well, heavy burdon on server).
What do you mean by data binding?

If you follow the normal ASP.NET databinding, it will certainly scale as
well as the <%# %> tags embedded in your page (if not better).
2. Using code behind to populate/read the controls. For example:
Sure, I do this all the time, especially when you end up having to use heavy
templating or overriding normal event paths to get data on a form. It is less
maintainable, as none of your code is declarative, but it works.

I do not see this as extremely scalable compared to ASP.NET databinding,
however.
3. Using <% =someDataValue %> in the aspx page. (Leads to old style ASP
type pages with mixing HTML and code)
For the record, this is databinding. Possibly kludgy data binding, but data
binding none-the-less.
4. Other options?
I still do not see 200 users pounding a machine to the point of submission
unless you are throwing too much data at them in one call. If so, redesign is
a better option. In general, if you are putting out more data than fits on a
single screen, except in search (and possibly reporting) scenarios, you are
going overboard. Another possible gotcha is "SELECT *" on tables where you
only bind a small amount of data. Both are instances of bad design (or
potentially bad design).

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

***************************
Think Outside the Box!
***************************
"Darren" wrote:
This is a theoretical question, meaning I don't have any specific code
to show.

On a large ASP.NET 1.1 application what is the best way to populate a
forms data fields if you expect a large load? A large load meaning
over 200 users hitting the site 24/7. The goal is to not overload the
web server.

Options are

1. Databinding (doesn't scale well, heavy burdon on server).

2. Using code behind to populate/read the controls. For example:

TextBox1.Text = someDataValue;
....
somdDataValue = TextBox1.Text;

(What would be the performance issues with this)

3. Using <% =someDataValue %> in the aspx page. (Leads to old style ASP
type pages with mixing HTML and code)

4. Other options?

If this has been answered before then please point me in the right
direction.

Thanks!

Jan 12 '06 #3
Darren,
Besides what Cowboy had to say, which pretty much covers the bases, you need
to think about caching. If you have a form that is going to get populated
with the same Database information for every user, it makes no sense to make
a database call for every user. Cache the data, and take it out of cache for
your data binding operation. Same with Session - if you have data that a user
will / may use more than once during their visit to your site.
Peter

--
Co-founder, Eggheadcafe.com developer portal:
http://www.eggheadcafe.com
UnBlog:
http://petesbloggerama.blogspot.com


"Darren" wrote:
This is a theoretical question, meaning I don't have any specific code
to show.

On a large ASP.NET 1.1 application what is the best way to populate a
forms data fields if you expect a large load? A large load meaning
over 200 users hitting the site 24/7. The goal is to not overload the
web server.

Options are

1. Databinding (doesn't scale well, heavy burdon on server).

2. Using code behind to populate/read the controls. For example:

TextBox1.Text = someDataValue;
....
somdDataValue = TextBox1.Text;

(What would be the performance issues with this)

3. Using <% =someDataValue %> in the aspx page. (Leads to old style ASP
type pages with mixing HTML and code)

4. Other options?

If this has been answered before then please point me in the right
direction.

Thanks!

Jan 12 '06 #4
intrader wrote:
These may be two other solutions:
1. Generate a template based solution that is rendered directly via a
stored procedure. This may prove to overload the db engine.
2. Generate XML from database, render this XML to client along with XSL to
convert it to XHTML.

I would definitely pick that #1 dead least, well after even databinding.
So many things are wrong with this I don't even know where to start.

You get code for formatting data in the SQL query, as well as other code
that ought to be in the presentation layer i.e. all the extra markup it
generates (and arguably presentation code should live in the
presentation layer - not in a data persistence layer), which makes your
application harder to maintain (mixing layers does that - whether it
s business logic or presentation code in sprocs, bypassing layers, etc),
needs some extra queries for those pages that other apps won't use (more
burden, less efficient, and I can tell you the DBA won't be happy),
harder to maintain (simple presentation layer/page changes will often
need the sprocs to be updated), puts tons more unecessary load on the DB
server (making everything slow in the process), which alone is a reason
not to do it as DB servers are usually licensed per CPU (tens of
thousands of $$ per CPU) whereas an extra server (or extra resources)
for processing your ASP.Net pages will most likely be far cheaper. I
could go on about this for 3 straight weeks! If anything it reminds me
of this http://thedailywtf.com/forums/40438/ShowPost.aspx

#2 is somewhat better, but it's still (IMHO) quite lacking/inferior to
his initial options.
Jan 12 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: Tom Siltwater | last post by:
building variable width/DB tables etc using getrows instead of movenext. Performance is a major concern as this app requires SSL. My question is, when does it become more about the challenge of...
3
by: Varkey | last post by:
Dear friends, I am new to .NET based app development and have a pretty elementary query, I suppose... I have caught up with the basics of .NET pretty well, thanks to some Microsoft VB/ASP...
8
by: nickdu | last post by:
I'm trying to isolate "applications" into their own application domain within a single process. I've quoted applications because it's a logical representation of an application. Basically it...
0
by: Dmitry Kostenko | last post by:
Hello, All. This is a .Net question, not precisely C#. I have a quite heavy Windows Forms application. I'm using third party custom controls (i.e. most of controls on the forms use custom...
4
by: batista | last post by:
Hello to all, I want to know that wat's the future of vc++.net? I mean is it going to remain there or not, and if does then wud there be big changes to it or they'll stick with the current one?...
1
by: Dominic | last post by:
Hi all, We've just migrated to IIS 6.0 / Windows Server 2003. We are now experiencing some stability problem what we did not experience in IIS 5.0 / Windows 2000 Server. Our ASP.NET application...
8
by: CaptainDeep | last post by:
Hi all, I have couple of questions about architecting web application using asp.net 1. is ther any performance gain in using c# over vb.net 2. best way to handle transactions in .net? using ado...
8
by: NAdir | last post by:
Hi, thank you for your help. My VB.Net application contains a document that the user can refresh at any time. The refresh works fine and needs to loop through few datatables (hundreds of rows)....
2
by: jphelan | last post by:
Ever since I successfully applied some techniques for increasing the speed of my 17 meg. Application; it has only made me hunger for more. First, let me list what I have done so far: 1. Split...
2
by: Danny | last post by:
Hi All, Yesterday I ran my ASP.NET application as a client and it had serious performance issues (clicking a button and waiting 2 minutes to get a response, images downloaded very slowly, etc.),...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.