Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 8 of 8 total
Thread DBISAM post speed
Thu, Jan 25 2007 2:01 PMPermanent Link

"Paul Ralphs"
We have a client that is causing us a nightmare. Our DBISAM appliaction
keeps 'sticking' when adding new records. It seems it sticks mainly when a
DBISAM 'post' is performed The machine itself sticks and then the other
workstations (that may be just reading the data) also stick. No exceptions
are generated.
The client has 24 workstations. I think the problem is very apparent if two
workstations add a call at the same time. Although only 6 worksations would
be appending\editing data.
The tables have auto-increment primary indexes running DBISAM version 3.30
and Delphi 7 using local tables.
My questions are as follows:
1. Do you know why the workstations all stick when the posts are being
issued.
2. What can be done to stop this happenning?
I need to recolve this problem by tomorrow morning (UK Time).
Please help

Thu, Jan 25 2007 2:19 PMPermanent Link

"Robert"
1. Are you using transactions?
2. Do you have event handlers for after post?

Robert

"Paul Ralphs" <paul@fixzone.com> wrote in message
news:6A3809A1-1AF3-41A9-88EF-3D8B73D3BF4E@news.elevatesoft.com...
> We have a client that is causing us a nightmare. Our DBISAM appliaction
> keeps 'sticking' when adding new records. It seems it sticks mainly when a
> DBISAM 'post' is performed The machine itself sticks and then the other
> workstations (that may be just reading the data) also stick. No exceptions
> are generated.
> The client has 24 workstations. I think the problem is very apparent if
> two workstations add a call at the same time. Although only 6 worksations
> would be appending\editing data.
> The tables have auto-increment primary indexes running DBISAM version 3.30
> and Delphi 7 using local tables.
> My questions are as follows:
> 1. Do you know why the workstations all stick when the posts are being
> issued.
> 2. What can be done to stop this happenning?
> I need to recolve this problem by tomorrow morning (UK Time).
> Please help
>

Thu, Jan 25 2007 2:29 PMPermanent Link

"Paul Ralphs"
I am not using transactions just .append or .edit then .post. I do have some
event handler before the post of one of the tables. This is a very simple
procedure that does not cause any exception.


"Robert" <ngsemail2005withoutthis@yahoo.com.ar> wrote in message
news:8E65517D-D1A5-42A1-9927-A91A8728DE45@news.elevatesoft.com...
> 1. Are you using transactions?
> 2. Do you have event handlers for after post?
>
> Robert
>
> "Paul Ralphs" <paul@fixzone.com> wrote in message
> news:6A3809A1-1AF3-41A9-88EF-3D8B73D3BF4E@news.elevatesoft.com...
>> We have a client that is causing us a nightmare. Our DBISAM appliaction
>> keeps 'sticking' when adding new records. It seems it sticks mainly when
>> a DBISAM 'post' is performed The machine itself sticks and then the other
>> workstations (that may be just reading the data) also stick. No
>> exceptions are generated.
>> The client has 24 workstations. I think the problem is very apparent if
>> two workstations add a call at the same time. Although only 6 worksations
>> would be appending\editing data.
>> The tables have auto-increment primary indexes running DBISAM version
>> 3.30 and Delphi 7 using local tables.
>> My questions are as follows:
>> 1. Do you know why the workstations all stick when the posts are being
>> issued.
>> 2. What can be done to stop this happenning?
>> I need to recolve this problem by tomorrow morning (UK Time).
>> Please help
>>
>
>

Fri, Jan 26 2007 3:35 AMPermanent Link

Chris Erdal
"Paul Ralphs" <paul@fixzone.com> wrote in
news:3A7CC65A-F259-424A-B026-0D270192FF91@news.elevatesoft.com:

>>> 1. Do you know why the workstations all stick when the posts are
>>> being issued.
>>> 2. What can be done to stop this happenning?
>>> I need to recolve this problem by tomorrow morning (UK Time).
>>> Please help
>>>

Sounds to me like a problem with pessimistic locking. Check out optimistic
locking instead.

(I'm not even sure if this is an option with DBISAM, and I'm not
programming at the moment so I'm working from 1st principles...)

--
Chris
(XP-Pro + Delphi 7 Architect + DBISAM 4.24 Build 1)
Fri, Jan 26 2007 4:17 AMPermanent Link

"Paul Ralphs"
Dear Chris

I have switched DBISAM to optimistic locking and same thing.

Kind Regards

Paul

"Chris Erdal" <chris@No-Spam-erdal.net> wrote in message
news:Xns98C46066F8DB614torcatis@64.65.248.118...
> "Paul Ralphs" <paul@fixzone.com> wrote in
> news:3A7CC65A-F259-424A-B026-0D270192FF91@news.elevatesoft.com:
>
>>>> 1. Do you know why the workstations all stick when the posts are
>>>> being issued.
>>>> 2. What can be done to stop this happenning?
>>>> I need to recolve this problem by tomorrow morning (UK Time).
>>>> Please help
>>>>
>
> Sounds to me like a problem with pessimistic locking. Check out optimistic
> locking instead.
>
> (I'm not even sure if this is an option with DBISAM, and I'm not
> programming at the moment so I'm working from 1st principles...)
>
> --
> Chris
> (XP-Pro + Delphi 7 Architect + DBISAM 4.24 Build 1)
>

Fri, Jan 26 2007 8:30 AMPermanent Link

"Jose Eduardo Helminsky"
Paul

Are you using StrictChangeDetection ?
What server are you running ? If it is a Win2000 Server or Win2003, you MUST
disable opportunistic locking (see ElevateSoft site
http://www.elevatesoft.com/bulletin_6.htm

I have customers running with more than 80 users without any problems during
post operations.

Eduardo

Fri, Jan 26 2007 3:19 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Paul,

<< We have a client that is causing us a nightmare. Our DBISAM appliaction
keeps 'sticking' when adding new records. It seems it sticks mainly when a
DBISAM 'post' is performed The machine itself sticks and then the other
workstations (that may be just reading the data) also stick. No exceptions
are generated. The client has 24 workstations. I think the problem is very
apparent if two workstations add a call at the same time. Although only 6
worksations would be appending\editing data.  The tables have auto-increment
primary indexes running DBISAM version 3.30
and Delphi 7 using local tables.   My questions are as follows:

1. Do you know why the workstations all stick when the posts are being
issued. >>

Is anyone running any very long reports or SQL queries on the same table ?
This type of issue is almost always caused by an un-optimized, brute-force
query or filter on the table that causes a read lock to be held on the table
for an inordinate amount of time while every record is scanned, thus causing
Posts to be delayed until the read lock is released.  That's where I would
start looking.

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Jan 26 2007 3:21 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Eduardo,

<< Are you using StrictChangeDetection ? >>

Good point.  Using strict change detection will cause a lot more read locks
than without it, and those read locks will block any Posts.

<< What server are you running ? If it is a Win2000 Server or Win2003, you
MUST disable opportunistic locking (see ElevateSoft site
http://www.elevatesoft.com/bulletin_6.htm >>

Actually, OpLocks won't have any bearing on this issue because with that
many users using the same table the OpLocks would have been broken after the
second user started using the table.

--
Tim Young
Elevate Software
www.elevatesoft.com

Image