Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 14 total
Thread table.post takes about 3 seconds
Mon, Mar 8 2010 1:37 PMPermanent Link

Luis Conception Gonzalez

Hi!

Please, forgive me if I have multiposted this. I have problems with my
newsgroup software.

I'm using DBISAM 4 (latest version) and Delphi 7 Pro in a C/S application
over internet.

I have noticed that 'Table.Post' takes about 3 or 3.5 seconds to execute on
a table with about 15 fields (one of them is a memo field).
I have tried with different indexes, and trying to disable-enable controls,
etc... with no success.

Is it possible to improve it or it is due to latency and I wouldn't worry
about it?

Thanks!


--
Santy
Mon, Mar 8 2010 2:03 PMPermanent Link

Robert Kaplan


<Luis Conception Gonzalez> wrote in message
news:5DA90420-C12E-4FB1-9FF0-F02E1ACD3012@news.elevatesoft.com...
> Hi!
>
> Please, forgive me if I have multiposted this. I have problems with my
> newsgroup software.
>
> I'm using DBISAM 4 (latest version) and Delphi 7 Pro in a C/S application
> over internet.
>
> I have noticed that 'Table.Post' takes about 3 or 3.5 seconds to execute
> on
> a table with about 15 fields (one of them is a memo field).
> I have tried with different indexes, and trying to disable-enable
> controls,
> etc... with no success.
>
> Is it possible to improve it or it is due to latency and I wouldn't worry
> about it?
>

3 seconds is absurd. Something is wrong. Do other tables take as long? If
you do just an edit / post, without changing anything, does it take as long?
Do you have event handlers before or after posting?

Robert

Mon, Mar 8 2010 5:03 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Luis,

<< I'm using DBISAM 4 (latest version) and Delphi 7 Pro in a C/S application
over internet. >>

What kind of bandwidth is available for your Internet connection ?  And how
is the DBISAM Database Server connected to the Internet ?  Is it using a
high-speed connection, and if so, is it synchronous bandwidth (same up and
down speed), or asynchronous bandwidth (high down speed, but low up speed) ?

<< Is it possible to improve it or it is due to latency and I wouldn't worry
about it? >>

It's most definitely a bandwidth/latency issue.  Whether you should worry
about it or not depends upon whether this is how the production system will
be/or is set up.

BTW, your DBISAM support plan expired at the end of December 2009.

--
Tim Young
Elevate Software
www.elevatesoft.com

Tue, Mar 9 2010 5:21 AMPermanent Link

Luis Conception Gonzalez

> BTW, your DBISAM support plan expired at the end of December 2009.

Ok, renewed.

> Is it using a high-speed connection, and if so, is it synchronous
> bandwidth (same up and down speed), or asynchronous bandwidth (high down
> speed, but low up speed) ?

DBISAM Server computer has the following DSL connection, after a speed test:
   24522 Kb/s down
   19032 Kb/s up

Client computer has the following DSL:
   8360 Kb/s down
   258 Kb/s up

I have tried with two different tables. Both of them has a memo field.
I just Edit and Post, or Append and Post a single record.
There are no events handlers, internal processes, etc... I'm using an empty
test application.

Connection to the server takes just 0,6 seconds.
Opening the table takes 0,7 seconds.
Filtering, locating, indexing, etc... takes only 1 second or less.
'table.append' takes 0.2 seconds
BUT 'table.post' takes 3.4 seconds!

Other config:
RemoteAddress: XX.XX.XX.XX
RemoteCompression: 6
RemoteEncryption: True
RemotePing: True
RemoteTimeout: 300
RemoteTrace: false
EngineVersion: 4.28 Build 6

Involved table has an autoinc field, but other tables don't have an autoinc
field and takes the same time.

Another table, with just 8 string fields, no blob or memo fields, takes 1.5
seconds.

Is there anything I can do?

Thanks!

--
Santy C

"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> escribió en el
mensaje de
noticias:3619E8ED-2602-464B-9AE3-999C3BAA7BC6@news.elevatesoft.com...
> Luis,
>
> << I'm using DBISAM 4 (latest version) and Delphi 7 Pro in a C/S
> application over internet. >>
>
> What kind of bandwidth is available for your Internet connection ?  And
> how is the DBISAM Database Server connected to the Internet ?  Is it using
> a high-speed connection, and if so, is it synchronous bandwidth (same up
> and down speed), or asynchronous bandwidth (high down speed, but low up
> speed) ?
>
> << Is it possible to improve it or it is due to latency and I wouldn't
> worry about it? >>
>
> It's most definitely a bandwidth/latency issue.  Whether you should worry
> about it or not depends upon whether this is how the production system
> will be/or is set up.
>
> BTW, your DBISAM support plan expired at the end of December 2009.
>
> --
> Tim Young
> Elevate Software
> www.elevatesoft.com
>
Tue, Mar 9 2010 1:05 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Luis,

<< Ok, renewed. >>

Great, thank you very much.

<< DBISAM Server computer has the following DSL connection, after a speed
test:
   24522 Kb/s down
   19032 Kb/s up

Client computer has the following DSL:
   8360 Kb/s down
   258 Kb/s up

I have tried with two different tables. Both of them has a memo field. >>

Did you modify the memo field in the test ?

--
Tim Young
Elevate Software
www.elevatesoft.com

Tue, Mar 9 2010 1:38 PMPermanent Link

Luis Conception Gonzalez

> Did you modify the memo field in the test ?

No.

Even if I just do a simple 'Append' and then a 'Post', with no new data
entered, it takes 3.5 seconds.
AFAIK, this has ocurred for me for years... I would be very grateful if we
can improve this speed, because my applications could be really faster if we
fix this issue...



"Tim Young [Elevate Software]" wrote:

Luis,

<< Ok, renewed. >>

Great, thank you very much.

<< DBISAM Server computer has the following DSL connection, after a speed
test:
   24522 Kb/s down
   19032 Kb/s up

Client computer has the following DSL:
   8360 Kb/s down
   258 Kb/s up

I have tried with two different tables. Both of them has a memo field. >>

Did you modify the memo field in the test ?

--
Tim Young
Elevate Software
www.elevatesoft.com
Wed, Mar 10 2010 9:00 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Luis,

<< Even if I just do a simple 'Append' and then a 'Post', with no new data
entered, it takes 3.5 seconds. AFAIK, this has ocurred for me for years... I
would be very grateful if we can improve this speed, because my applications
could be really faster if we fix this issue... >>

Did you try tracing the session using OnRemoteTrace ?

http://www.elevatesoft.com/manual?action=viewevent&id=dbisam4&product=d&version=7&comp=TDBISAMSession&event=OnRemoteTrace

That will tell you exactly what is being called, how long it takes to send,
and how long the response takes.  You can also use DBSYS to do this.  Just
enable the tracing in the File/Options dialog (Remote/Enable Tracing).

--
Tim Young
Elevate Software
www.elevatesoft.com

Thu, Mar 11 2010 10:30 AMPermanent Link

Luis Conception Gonzalez

Dear Tim...

I will send you a trace log file from one of the tables via email.

That table has two blob fields (one Memo field and one Graphic field).
I have deleted both of them, then repaired and optimized with no effects. It still takes 3 or 3.5 seconds to post.

Table is not indexed nor filtered during tests.
Comparing trace log with another table, this table 'Post' has a lot of aditional events.

Thanks



"Tim Young [Elevate Software]" wrote:

Luis,

<< Even if I just do a simple 'Append' and then a 'Post', with no new data
entered, it takes 3.5 seconds. AFAIK, this has ocurred for me for years... I
would be very grateful if we can improve this speed, because my applications
could be really faster if we fix this issue... >>

Did you try tracing the session using OnRemoteTrace ?

http://www.elevatesoft.com/manual?action=viewevent&id=dbisam4&product=d&version=7&comp=TDBISAMSession&event=OnRemoteTrace

That will tell you exactly what is being called, how long it takes to send,
and how long the response takes.  You can also use DBSYS to do this.  Just
enable the tracing in the File/Options dialog (Remote/Enable Tracing).

--
Tim Young
Elevate Software
www.elevatesoft.com
Thu, Mar 11 2010 11:05 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Luis,

<< Table is not indexed nor filtered during tests. Comparing trace log with
another table, this table 'Post' has a lot of aditional events. >>

Yes, is is retrieving additional records - are you doing the trace from
DBSYS ?  If there is a grid attached, then there will be additional I/O.
However, DBISAM should be optimizing this automatically so that the number
of records read matches the number of visible rows in the grid.

--
Tim Young
Elevate Software
www.elevatesoft.com

Thu, Mar 11 2010 12:27 PMPermanent Link

Luis Conception Gonzalez

Hi, Tim...

Yes, there is a DBgrid attached.
I'm doing my tests in an empty application. Not DBSys.
Just a form with a DBGrid, Table, Datasource, Database and Session.

If I unlink the DBGrid Datasource, it takes only 0.6 seconds, BUT I really need the DBGrid! Data is entered in it!
The only trick I found is to disable DataSource on BeforePost and re-enable it on AfterPost, taking just 1 second! But I don't know if making this change in my real app will affect other events...

"Tim Young [Elevate Software]" wrote:

Luis,

<< Table is not indexed nor filtered during tests. Comparing trace log with
another table, this table 'Post' has a lot of aditional events. >>

Yes, is is retrieving additional records - are you doing the trace from
DBSYS ?  If there is a grid attached, then there will be additional I/O.
However, DBISAM should be optimizing this automatically so that the number
of records read matches the number of visible rows in the grid.

--
Tim Young
Elevate Software
www.elevatesoft.com
Page 1 of 2Next Page »
Jump to Page:  1 2
Image