473,387 Members | 1,844 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,387 software developers and data experts.

How much is Application Data

In a site that has about 4000 products, in 1000 categories, I thought that I
can store each product and category details in its own application("var"),
instead of trips to the database.

When someone will go to product.asp?id=123, the page will show the
application("product123") instead of getting the information from the
database.

If a change of pricing or availability occours, I will delete the
application("product123"). The product.asp will check if it's empty. If it
is, it will get the data from the database and show that, but the next time
someone goes to that page, there is no need to connect to the database.

I've used it many times for chunks of HTML (see
http://www.learnasp.com/freebook/asp/speedappdata.aspx), but my question is,
how much can I save in application data? Can I put 4000 of them?
Nov 2 '07 #1
7 1657
Bruce wrote:
In a site that has about 4000 products, in 1000 categories, I thought
that I can store each product and category details in its own
application("var"), instead of trips to the database.

When someone will go to product.asp?id=123, the page will show the
application("product123") instead of getting the information from the
database.

If a change of pricing or availability occours, I will delete the
application("product123"). The product.asp will check if it's empty.
If it is, it will get the data from the database and show that, but
the next time someone goes to that page, there is no need to connect
to the database.
I've used it many times for chunks of HTML (see
http://www.learnasp.com/freebook/asp/speedappdata.aspx), but my
question is, how much can I save in application data? Can I put 4000
of them?
It depends on the server hardware (amount of RAM) and the number of
applications running on the server. This is the type of question that can
only be answered by testing. For example, we have on idea how much memory is
consumed by storing one of these productls, let alone 4000. If scalability
is a concern, you should be striving to avoid page faults.

The other concern is concurrency: I assume you have already realized the
need to lock the application object while making changes to its contents.
While the application is locked, no requests in the application can be
served. Whether this is a concern or not depends on the frequency of price
changes and can only be answered by testing.

Is the call to the database so time-consuming that caching the data in
application is necessary?
--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"
Nov 3 '07 #2


"Bob Barrows [MVP]" <re******@NOyahoo.SPAMcomwrote in message
news:Of**************@TK2MSFTNGP03.phx.gbl...
Bruce wrote:
In a site that has about 4000 products, in 1000 categories, I thought
that I can store each product and category details in its own
application("var"), instead of trips to the database.

When someone will go to product.asp?id=123, the page will show the
application("product123") instead of getting the information from the
database.

If a change of pricing or availability occours, I will delete the
application("product123"). The product.asp will check if it's empty.
If it is, it will get the data from the database and show that, but
the next time someone goes to that page, there is no need to connect
to the database.
I've used it many times for chunks of HTML (see
http://www.learnasp.com/freebook/asp/speedappdata.aspx), but my
question is, how much can I save in application data? Can I put 4000
of them?

It depends on the server hardware (amount of RAM) and the number of
applications running on the server. This is the type of question that can
only be answered by testing. For example, we have on idea how much memory
is
consumed by storing one of these productls, let alone 4000. If scalability
is a concern, you should be striving to avoid page faults.

The other concern is concurrency: I assume you have already realized the
need to lock the application object while making changes to its contents.
While the application is locked, no requests in the application can be
served. Whether this is a concern or not depends on the frequency of price
changes and can only be answered by testing.
Or just don't bother locking the application object. That'll be fine in
this case.

--
Anthony Jones - MVP ASP/ASP.NET
Nov 3 '07 #3
Thanks for the response.

The site is hosted on a shared hosting (discount asp .net), where I don't
hav control over testing and looking at the RAM etc. If every product is 3
KB of information, is that 4000*3 ?

How would I test if caching is faster than connecting to a database? (I want
to test speed of page load, and scalability).

I've stumbled upon http://www.webgecko.com/products/aspcache/, is anyone
familiar with that? The page claims that it's much faster than storing in
application data, but I can't use it on a shared hosting :( Is there
something else similar?
"Bob Barrows [MVP]" <re******@NOyahoo.SPAMcomwrote in message
news:Of**************@TK2MSFTNGP03.phx.gbl...
It depends on the server hardware (amount of RAM) and the number of
applications running on the server. This is the type of question that can
only be answered by testing. For example, we have on idea how much memory
is consumed by storing one of these productls, let alone 4000. If
scalability is a concern, you should be striving to avoid page faults.

The other concern is concurrency: I assume you have already realized the
need to lock the application object while making changes to its contents.
While the application is locked, no requests in the application can be
served. Whether this is a concern or not depends on the frequency of price
changes and can only be answered by testing.

Is the call to the database so time-consuming that caching the data in
application is necessary?

Nov 6 '07 #4
"Bruce" <fake_dont_send@anything_.comwrote in message
news:e%****************@TK2MSFTNGP02.phx.gbl...
Thanks for the response.

The site is hosted on a shared hosting (discount asp .net), where I don't
hav control over testing and looking at the RAM etc. If every product is 3
KB of information, is that 4000*3 ?

How would I test if caching is faster than connecting to a database? (I
want
to test speed of page load, and scalability).

I've stumbled upon http://www.webgecko.com/products/aspcache/, is anyone
familiar with that? The page claims that it's much faster than storing in
application data, but I can't use it on a shared hosting :( Is there
something else similar?

Yeah use ASP.NET and do things like Response caching.

12MB of product data is peanuts.

If your concerned about performance then its more important to consider what
the hit rate will be and how much CPU your ASP code is going to consume.

--
Anthony Jones - MVP ASP/ASP.NET
Nov 6 '07 #5
Another option is to use the FileSystem.Scripting object to generate a
static html version of each page, and show that. On each request. code can
check for the presence of an html file, and if it exists, show it (include
file, perhaps?), otherwise generate it from the database and show it. If
you amend the details of any product, code will delete the associated html
file.

--
Mike Brind

"Bruce" <fake_dont_send@anything_.comwrote in message
news:e%****************@TK2MSFTNGP02.phx.gbl...
Thanks for the response.

The site is hosted on a shared hosting (discount asp .net), where I don't
hav control over testing and looking at the RAM etc. If every product is 3
KB of information, is that 4000*3 ?

How would I test if caching is faster than connecting to a database? (I
want to test speed of page load, and scalability).

I've stumbled upon http://www.webgecko.com/products/aspcache/, is anyone
familiar with that? The page claims that it's much faster than storing in
application data, but I can't use it on a shared hosting :( Is there
something else similar?
"Bob Barrows [MVP]" <re******@NOyahoo.SPAMcomwrote in message
news:Of**************@TK2MSFTNGP03.phx.gbl...
>It depends on the server hardware (amount of RAM) and the number of
applications running on the server. This is the type of question that can
only be answered by testing. For example, we have on idea how much memory
is consumed by storing one of these productls, let alone 4000. If
scalability is a concern, you should be striving to avoid page faults.

The other concern is concurrency: I assume you have already realized the
need to lock the application object while making changes to its contents.
While the application is locked, no requests in the application can be
served. Whether this is a concern or not depends on the frequency of
price changes and can only be answered by testing.

Is the call to the database so time-consuming that caching the data in
application is necessary?


Nov 7 '07 #6
Maybe not include files. You can't set their value dynamically. But
Server.Transfer would work.
"Mike Brind" <du***@newsgroups.comwrote in message
news:O4**************@TK2MSFTNGP02.phx.gbl...
Another option is to use the FileSystem.Scripting object to generate a
static html version of each page, and show that. On each request. code
can check for the presence of an html file, and if it exists, show it
(include file, perhaps?), otherwise generate it from the database and show
it. If you amend the details of any product, code will delete the
associated html file.

--
Mike Brind

"Bruce" <fake_dont_send@anything_.comwrote in message
news:e%****************@TK2MSFTNGP02.phx.gbl...
>Thanks for the response.

The site is hosted on a shared hosting (discount asp .net), where I don't
hav control over testing and looking at the RAM etc. If every product is
3 KB of information, is that 4000*3 ?

How would I test if caching is faster than connecting to a database? (I
want to test speed of page load, and scalability).

I've stumbled upon http://www.webgecko.com/products/aspcache/, is anyone
familiar with that? The page claims that it's much faster than storing in
application data, but I can't use it on a shared hosting :( Is there
something else similar?
"Bob Barrows [MVP]" <re******@NOyahoo.SPAMcomwrote in message
news:Of**************@TK2MSFTNGP03.phx.gbl...
>>It depends on the server hardware (amount of RAM) and the number of
applications running on the server. This is the type of question that
can only be answered by testing. For example, we have on idea how much
memory is consumed by storing one of these productls, let alone 4000. If
scalability is a concern, you should be striving to avoid page faults.

The other concern is concurrency: I assume you have already realized the
need to lock the application object while making changes to its
contents. While the application is locked, no requests in the
application can be served. Whether this is a concern or not depends on
the frequency of price changes and can only be answered by testing.

Is the call to the database so time-consuming that caching the data in
application is necessary?



Nov 7 '07 #7
Me and my spineroosms. Of course that should have been
Scripting.FileSystemObject.
"Mike Brind" <du***@newsgroups.comwrote in message
news:uu**************@TK2MSFTNGP06.phx.gbl...
Maybe not include files. You can't set their value dynamically. But
Server.Transfer would work.
"Mike Brind" <du***@newsgroups.comwrote in message
news:O4**************@TK2MSFTNGP02.phx.gbl...
>Another option is to use the FileSystem.Scripting object to generate a
static html version of each page, and show that. On each request. code
can check for the presence of an html file, and if it exists, show it
(include file, perhaps?), otherwise generate it from the database and
show it. If you amend the details of any product, code will delete the
associated html file.

--
Mike Brind

"Bruce" <fake_dont_send@anything_.comwrote in message
news:e%****************@TK2MSFTNGP02.phx.gbl...
>>Thanks for the response.

The site is hosted on a shared hosting (discount asp .net), where I
don't hav control over testing and looking at the RAM etc. If every
product is 3 KB of information, is that 4000*3 ?

How would I test if caching is faster than connecting to a database? (I
want to test speed of page load, and scalability).

I've stumbled upon http://www.webgecko.com/products/aspcache/, is anyone
familiar with that? The page claims that it's much faster than storing
in application data, but I can't use it on a shared hosting :( Is there
something else similar?
"Bob Barrows [MVP]" <re******@NOyahoo.SPAMcomwrote in message
news:Of**************@TK2MSFTNGP03.phx.gbl...

It depends on the server hardware (amount of RAM) and the number of
applications running on the server. This is the type of question that
can only be answered by testing. For example, we have on idea how much
memory is consumed by storing one of these productls, let alone 4000.
If scalability is a concern, you should be striving to avoid page
faults.

The other concern is concurrency: I assume you have already realized
the need to lock the application object while making changes to its
contents. While the application is locked, no requests in the
application can be served. Whether this is a concern or not depends on
the frequency of price changes and can only be answered by testing.

Is the call to the database so time-consuming that caching the data in
application is necessary?




Nov 7 '07 #8

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

Similar topics

9
by: J. Baute | last post by:
I'm caching data in the Application object to speed up certain pages on a website The main reason is that the retrieval of this data takes quite a while (a few seconds) and fetching the same data...
43
by: Davey | last post by:
I am planning on developing an application which will involve skills that I have very little experience of - therefore I would appreciate comments on my initial design thoughts. Overview on...
4
by: Dave | last post by:
I need to add the ability to drag from a Windows Form and drop into a non dotNet application. For example, having a generated image in my app that I wish to drag out into explorer as a friendly way...
9
by: Abhishek Srivastava | last post by:
Hello All, In IIS 6.0 We have a concept of worker processes and application pools. As I understand it, we can have multiple worker process per appliction pool. Each worker process is dedicated...
6
by: B B | last post by:
Okay, here is what's happening: I have a reasonably fast laptop (1.4 GHz Mobile M, so comparable to 2.5GHz P4) doing .net development. Running Windows XP pro, SP2 IIS is installed and running...
9
by: Graham | last post by:
I have been having some fun learning and using the new Controls and methods in .Net 2.0 which will make my life in the future easier and faster. Specifically the new databinding practises and...
4
by: John Cosmas | last post by:
I need to execute some threads that load items into my APPLICATION object. I haven't figured out how to do that when I fire off a thread on a page, that takes its time and loads data into the...
17
by: Timothy.Rybak | last post by:
Hello all, This is my first attempt at an application, so kid gloves are appreciated. I need to make a very simple form that only has a few elements. One is TraceCode - a text field that is...
35
by: salad | last post by:
I have an application written in MS-Access. It is a complete application that manages the day-to-day operations of a business. The program is nearly ready to be used in other customer sites. ...
4
by: Dave | last post by:
I have a global.asax file with Application_Start defined and create some static data there and in another module used in the asp.net application and I realize that static data is shared amongst...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
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
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

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.