Subject | Re: [Firebird-Architect] Re: Can we, can we, can we????... |
---|---|
Author | Alexander Klenin |
Post date | 2005-06-22T08:53:20Z |
On 6/22/05, Ann W. Harrison <aharrison@...> wrote:
When the database is overloaded -- by the time the trigger execution
starts, it is already too late -- by 5 to 15 seconds, as measured.
and I think that even Jim, for all his affection with self-made
solutions, would agree that reinventing HTTP is not very wise deŃision
;-) When the load-balancing is on, there is even no guarantee that
question and answer will be processed by the same server.
sake of current discussion let's just assume the mix of two-tier and
three-tier access -- surely not an unheard-of scenario.
do with the problem. As for transmission time -- we simply advise
students not to take official tests over dial-up connections ;-)
query was issued.
There are actually another limits, like queries issued per hour, but
that is another story.
-- if so, please tell me, I am not too good at english). I wrote "The
time to select query parameters" -- that is, the time spent by user in
the interface.
complete the query, that would be ideal! But somehow I do think this
is much harder then implenent quotas.
--
Alexander S. Klenin
Insight Experts Ltd.
> Alexander Klenin wrote:This is how it is done, and it is exactly the root of the problem.
>
> > Well, I admit that I sometimes write stupid programs, but not THAT stupid ;-)
> > Sure, we try to count "think time", but that is not as easy as it sounds.
> > For example, the submit time is taken from database server for
> > security and consistency,
> > but the server could have a problem even answering a query like
> > SELECT CURRENT_TIMESTAMP FROM RDB$DATABASE.
>
> I wouldn't use a separate query to get the time. You could set a
> timestamp field to 'now' with a trigger on the last record inserted or
> updated when a question is sent to a student and another similar trigger
> on the on the first record inserted or updated when the answer returns.
When the database is overloaded -- by the time the trigger execution
starts, it is already too late -- by 5 to 15 seconds, as measured.
> Better, assuming your application has some way to notice that it hasThe problem here is that HTTP protocol is stateless by definition --
> sent a question to a student, and maintains some context about who that
> student is. Get the system time when the question is sent. Get the
> system time when the answer is received.
and I think that even Jim, for all his affection with self-made
solutions, would agree that reinventing HTTP is not very wise deŃision
;-) When the load-balancing is on, there is even no guarantee that
question and answer will be processed by the same server.
> > Another problem is that not all clients are web-servers, there areThis is complex issue, I can delve into it in depth, but but for a
> > some Windows-clients connecting directly do database, so counting time
> > on web-server is not always even an option.
> Why not? Are the other clients also testing?
sake of current discussion let's just assume the mix of two-tier and
three-tier access -- surely not an unheard-of scenario.
> > So the situation whereSee below.
> > every student is forced to wait extra 30 seconds after each question
> > is totally unacceptable.
> And how would quotas help that?
> I'm taking a test, I've spent anNeither average time per query not transmission time have nothing to
> average of .6 seconds on each query but the transmission time brings me
> over the arbitrary quota for the test. So I flunk?
do with the problem. As for transmission time -- we simply advise
students not to take official tests over dial-up connections ;-)
> What would you limit and which users would you put limits on? Tell meThe limit is be put on the total (wall-clock) time spent sinse the
> more specifically how you would use quotas to solve these problems, please.
query was issued.
There are actually another limits, like queries issued per hour, but
that is another story.
> > How do you loose anything? The time to select query parameters isNo, please read carefully (or perhaps my english is incomprhensible?
> > perhaps 10-15 seconds -- you will just see a message telling that the
> > system is overloaded and asking you to resubmit your query in a few
> > minutes.
>
> The system has spent 10-15 seconds processing a query ...
-- if so, please tell me, I am not too good at english). I wrote "The
time to select query parameters" -- that is, the time spent by user in
the interface.
> ... that it could not complete and dropped on the floor.Oh, if you implement a feature to accurately predict time required to
> Those 10-15 seconds could more
> profitable used for anything that was actually allowed to finish,
> instead they're completely wasted.
complete the query, that would be ideal! But somehow I do think this
is much harder then implenent quotas.
> >>If that works for you, fine. Be careful of funny dates - I'll bet yourYes, there are still problems -- but it is at least usable now ;-)
> >>application will have a grand time with 2005.0.15 and such MySQL
> >>specialties.
> >
> > These are fixed too -- this is why we are considering 5.0, but not 4.x.
> Actually, I think they're fixed in some modes and not in others, ...
--
Alexander S. Klenin
Insight Experts Ltd.