Performance evaluation: VBscript session variables, 9000 hits per day, and stuff
Posted on 2002-05-31
Okay, I have a complex problem. Lots of questions.
First, the details.
I'm building a web-based interface for some database advanced querying. I have 5 facultative forms. Each user can choose any number of forms, then fill them one after the other, then see the result. So I'm building a SQL query completely undetermined from start (from 0 to 14 search criteria). The forms are generated by server-side VBscript and they make one different page each (won't do otherwise).
Now, the problem. I need to keep the user inputs somewhere as the forms are being filled out one after the other (i.e., as new pages are loaded). At the end, a subroutine analyses everything and build the proper SQL query. I'm proudly done with that part, but the earlier step is still unsolved.
Why, the easiest would be session variables... but these are tricky and I'd like to avoid them. Moreover, I'd need from 0 to 14 separate session variables! But it's also true that my dual 866mhz server with 1gig of RAM has 9000 hits per day and that only an very, very little portion of these hits involve the search engine I'm talking about here. Yet, how are 9000 hits per day? Does that qualify for a medium-sized website? Or large already? Those 100 000 hits/day then are large or extra-large? I really need a better knowledge of this.
Back to my problem. Maybe I could build my SQL query progressively as the forms are being processed, and so I could keep only ONE session variable at a time. But the tricky part is that I need to build another form where the user reviews all his/her inputs before finally pressing 'fire'! So that would involve parsing the SQL query to extract the data. Seems more straightforward to me to keep everything distinct all along for the final review form, after which everything can be lumped into a nice and ready to use query.
So, what else is there for me beside session variables? Querystrings? Seems a bit crude. With something up to 14 search criteria, wouldn't it make URLS that are ridiculously long? A database table? Each user being anonymous, what kind of identifier could I use to keep apart several simultaneous queries? Hidden forms? I'm not sure how this can be done. A text file? Well... session variables seem so much of an easy way out of this. Will I go in Hell for that? :-)