Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 5 of 5 total
Thread Minimalize resources
Tue, Apr 17 2012 6:32 AMPermanent Link

durumdara

Dear Support!

I want to ask that have you some information:
What I need to do to decrease the memory consumption of server?

a.)
Which is lightest component?
Table or Query?

b.)
Is a sensitive query with one row better than TEDBTable?

c.)
Which functions or operations are more memory eater?
For example Table.Filter vs. Query?

d.)
What are the things that "residently" growing the memory per components?
For example: preparation surely.
Filters surely.
But maybe other things what I don't know are also growing memory usage.
Index using?

e.)
What are the things that growing the MemUsg per session?
Is there some object that not released only in session's end?
(As I know Query.Free automatically unprepare the Query. But Query.Close?)

f.)
Do you know about some tricks what are surely decreasing the full memory usage in server?

Thanks for your every idea, info, etc.

Regards:
   dd
Tue, Apr 17 2012 8:49 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

durumdara

I think that only Tim can answer your questions fully. I've given my opinions below but first a question: are you having trouble with memory consumption on the server, if so what? Is it just too high, if so how high, how many sessions, how many tables open simultaneously, how many users etc. Is it growing the longer the server is running?

DBISAM and (I believe) ElevateDB already use a minimalist approach holding one cursor open per table rather than per table instance. The quickest way to reduce memory consumption by ElevateDB is to reduce the buffers. This WILL impact on performance, almost certainly reducing it. In EDBManager look at the Sizing/Buffering page for table definition / alteration.

Both query and table inherit from TDataSet and have very similar properties and methods. Unless you're really scavenging I doubt you'll see enough difference in memory usage to be worthwhile using memory usage as the reason to pick one over the other.

Filters vs queries I can't think there's much in it. I sort of remember that with DBISAM the filter was an array of bits (or something like that) so if it was implemented simplistically you'd get 1 byte per 8 rows. I believe Tim came up with something better for ElevateDB.

Preparing a query mainly opens the tables ready for use so if they're already open virtually no additional memory overhead.

The general tone of your post suggests that you're either having serious problems or are even worse than I am at not wanting to use memory/disk unnecessarily. If its the latter good luck, if the former I'd suspect your code rather than Tim's. If Tim's code is causing sever memory problems there would be a lot of posts about it.

Roy Lambert [Team Elevate]
Wed, Apr 18 2012 1:07 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com


<< What I need to do to decrease the memory consumption of server? >>

What exactly is the problem that you're seeing that prompts this question ?
It's such an open-ended question that it is impossible to answer.

As for your other questions, all tables, whether they are used directly or
in queries, will use up to the buffering settings specified in the
CREATE/ALTER TABLE statements (MAX ROW BUFFER SIZE, MAX INDEX BUFFER SIZE,
etc).  This is per table, and per session.

You can see exactly what each table is using in terms of memory, by querying
this table on the EDB Server:

http://www.elevatesoft.com/manual?action=viewtopic&id=edb2sql&topic=ServerSessionStatistics_Table

If you have a specific question about a specific table, please tell me which
table (structure) and how it is used, and I will attempt to explain how it
consumes memory.

--
Tim Young
Elevate Software
www.elevatesoft.com
Wed, Apr 18 2012 1:24 PMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Tim


Can you do that for fileserver as well?

Roy Lambert
Wed, Apr 18 2012 11:05 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Roy,

<< Can you do that for fileserver as well? >>

No, EDB Server-only.

--
Tim Young
Elevate Software
www.elevatesoft.com
Image