473,779 Members | 1,913 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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("va r"),
instead of trips to the database.

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

If a change of pricing or availability occours, I will delete the
application("pr oduct123"). 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 1677
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("va r"), instead of trips to the database.

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

If a change of pricing or availability occours, I will delete the
application("pr oduct123"). 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******@NOyah oo.SPAMcomwrote in message
news:Of******** ******@TK2MSFTN GP03.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("va r"), instead of trips to the database.

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

If a change of pricing or availability occours, I will delete the
application("pr oduct123"). 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******@NOyah oo.SPAMcomwrote in message
news:Of******** ******@TK2MSFTN GP03.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_.comw rote in message
news:e%******** ********@TK2MSF TNGP02.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.Scri pting 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_.comw rote in message
news:e%******** ********@TK2MSF TNGP02.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******@NOyah oo.SPAMcomwrote in message
news:Of******** ******@TK2MSFTN GP03.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***@newsgrou ps.comwrote in message
news:O4******** ******@TK2MSFTN GP02.phx.gbl...
Another option is to use the FileSystem.Scri pting 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_.comw rote in message
news:e%******** ********@TK2MSF TNGP02.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******@NOyah oo.SPAMcomwrote in message
news:Of******* *******@TK2MSFT NGP03.phx.gbl.. .
>>It depends on the server hardware (amount of RAM) and the number of
application s 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.FileS ystemObject.
"Mike Brind" <du***@newsgrou ps.comwrote in message
news:uu******** ******@TK2MSFTN GP06.phx.gbl...
Maybe not include files. You can't set their value dynamically. But
Server.Transfer would work.
"Mike Brind" <du***@newsgrou ps.comwrote in message
news:O4******** ******@TK2MSFTN GP02.phx.gbl...
>Another option is to use the FileSystem.Scri pting 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_.comw rote in message
news:e%******* *********@TK2MS FTNGP02.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******@NOyah oo.SPAMcomwrote in message
news:Of****** ********@TK2MSF TNGP03.phx.gbl. ..

It depends on the server hardware (amount of RAM) and the number of
applicatio ns 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
applicatio n 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
applicatio n is necessary?




Nov 7 '07 #8

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

Similar topics

9
3291
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 from the "cache" hardly takes any time A basic pattern used to get the data from disk, or from cache is this data = getDataFromCache("mydata" if data = "" the data = getDataFromDisk( storeDataInCache(data, "mydata" end i
43
2854
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 system: I'm not going to divulge the exact aims of the application but the purpose of it is to allow multiple client applications to retrieve data from a database (on a db server) and feed this data into another Windows
4
3067
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 to save it. I have tried creating the object that I place into the DoDragDrop() by inheriting the COM interfaces IDropSource and IDataObject with no luck. If anyone can help I am very much open to suggestions. Thanks in advance!
9
23084
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 to a pool. If I assign only one application to a applicaton pool and have multiple worker processes assigned to that pool. Will my application be processed by many worker processes?
6
8582
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 fine All SQL Servers I am referring to share a small (10 computers or so) LAN with a 100MB Switch. No other computers on the LAN exhibit this problem.
9
2778
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 wizards. But, I have found that trying to do something "outside the norm" adds a rather large level of complexity and/or data replication. Background I have been commissioned to create a web-based application for a client. It has a formsaunthentication...
4
1250
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 APPLICATION level object which will be used later. Here is an example code I've used to fire it off. Dim pclsUserServices As clsUserServices = New clsUserServices Dim pobjUserServices As Thread pobjThread100 = New Thread(New ThreadStart(AddressOf...
17
3554
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 populated when a user scans a label. The other is ScanDate - a date/time field that should equal the date/time of the scan (e.g. 7/31/2006 5:00:00 AM).
35
2218
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. I am wondering if any of you have advice on supporting an application. Since it has never had any outside exposure, what I don't want is to make a bunch of sales and not be able to support the issues that arise. I believe as kinks are worked out...
4
4531
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 child apps of an IIS application and can be used by multiple users during the application life cycle and for multiple page loads for the same or different page under a root application. What I don't understand and need to know is whether that...
0
9636
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10306
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10138
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10074
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9930
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8961
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7485
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6724
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
3
2869
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.