Re: xml in plain text file on heavy load.

From: John F. (john_at_clearmymind.com)
Date: 02/11/04


Date: Wed, 11 Feb 2004 15:49:24 +0100

Hi David,

Well, like you are guessing, it was more the second one:
"Read by ASP page on server side, manipulated, and response sent to client".

Actually it is :
 1) Fetch client variables. (ctrl input)
 2) Read the xml-file,
 3) Take out what it needs, and take action appropriate (do some dbase
action)
 4) Sent an "OK" or "KO" response to the client.

But because this xml-file will be read by many asp pages there will be a
tremendous load on reading this 3K xml-file. So I was wondering if IIS
itself was storing this xml-file in cash so it can serve faster those asp
pages. Each asp page do some other actions on the dbase, and I'm sure that
there will be no overhead on those dbase actions (regarding my experience
with asp/odbc and SQLserver).

The real question is : physical reading the xml-file. If IIS gives this
reading-task each time to NT server, then there could be some sort of
overhead on reading this file or on passing this command to the Win2k Os.

I though this could cause reading-error because there would be a physical
action (moving the heads on the disk) that takes time, I could watch
performance monitor for this kind of problems, but still, I want to know
this in front.

I also think there gonna be a long "waiting cue" for reading this file, and
that is still crazy. So if IIS is not gonna take this caching action, is
Win2k going to do this caching action for IIS?

I could store this xml-file in a session object for each user, but then is
memory my concern, isn't it? Or is it better to store it in an application
object? What will be the impact of this? (not memory, but restarting IIS
when there is an xml update?)

It is true that "XML can be viewed as hierarchical data" but in this case
the xml-data is sooo weird that I cannot store it in a dbase (meaning
splitting it up in relational tables) because then i have to use like 100
tables, and each time when there is a change in the data, there well be new
tables added and other tables being deleted and new relations will be made.
And that is what I do not want.

Sending the xml file to the client is not advisable because then I have to
move the logic also to the client, and I'm preventing browser issues
concerning the scripting language versions vs different browser versions.

So the only thing i see is:
 a) Let NT do the caching (if it will cash it)
 b) Put it in a session variable at runtime
 c) Put it in an application variable at runtime
 d) Put the xml just in a "function" so it will be cached by IIS? (But will
not be user friendly when this xml is going to be changed concerning UTF8
coding)

Are there more options or am I missing something?

Best regards,
J.F.



Relevant Pages

  • Re: Delegation / IIS6 / share located on another computer
    ... the client is actually authenticating using Kerberos (and not NTLM)? ... However, after reading through: ... IIS is correctly set if the application group is running as Network ... You need to ensure that the client is using Kerberos to authenticate to ...
    (microsoft.public.inetserver.iis.security)
  • Re: Response.Flush: Differences between IIS 6.0 and 5.0?
    ... You believe that "ASP did send the entire response buffer to the client" ... Response.Flushsimply takes the data out of ASP's buffer and is placing it ... This worked great in IIS 5 and earlier. ...
    (microsoft.public.inetserver.iis)
  • Re: IIS 5.0
    ... so the client cannot update the Address bar. ... Kristofer Gafvert - IIS MVP ... "default document doesn't display in url" <default document doesn't display ... uploading pages with an asp script "huge asp upload" I have configured this ...
    (microsoft.public.inetserver.iis)
  • Re: User name
    ... > the page require authentication and set it to use ... > Now when the user goes to the page they are actually logging into the IIS ... >> i have a VB script to run by client to show its logon client name. ... >> i wish to make a asp page to show up the logon user name. ...
    (microsoft.public.win2000.active_directory)
  • Re: "Response.Buffer=false" broken in IIS6?
    ... I/O when sending data to the client. ... There is no way to get ASP to do synchronous sends in IIS 6. ... necessarily possible to determine the client bandwidth from an application ...
    (microsoft.public.inetserver.iis)

Loading