Subject | New feature request (thread priority) |
---|---|
Author | Toni Martir |
Post date | 2000-11-25T12:16:36Z |
I moved this from IBDI by Ann request.
The feature request is to create a new transaction parameter option like:
tpb_high_priority
tpb_low_priority
This will affect the thread created to process the sql statements inside the transaction.
I don't know if is best to set the priority for each sql statement.
I think it's easy to implement (I'm studying Interbase source code now)
The purpose is drastically improve database response time in time critical production enviroments.
I will explain why it's important to be implemented.
It affects production enviroments, with a few users (less than 20), when Interbase is used as a real time information store like storing temperature every second or serving a user interactive time critical production proces.
Some transactions (usually very short transactions) need speed, the user (or a machine) can't wait because other concurrent long querys are processed. Now the users can affect the performance of the time critical transactions executing long querys (10-20 seconds querys). If 5 users are querying the database the time to proces the time critical transaction go from 0.1 seconds to 0.5 seconds.If a long query takes 12 seconds instead 10 is not critical.
Upgrading the IBServer proces priority not solves the problem because it upgrades the priority of all threads.
Interbase 6 has introduced an improvement to a similar situation, garbage collection time runs in a low priority thread, so if the time critical transaction needs to garbage collect records it happends in background, improving the response time.
Thanks
[Non-text portions of this message have been removed]
The feature request is to create a new transaction parameter option like:
tpb_high_priority
tpb_low_priority
This will affect the thread created to process the sql statements inside the transaction.
I don't know if is best to set the priority for each sql statement.
I think it's easy to implement (I'm studying Interbase source code now)
The purpose is drastically improve database response time in time critical production enviroments.
I will explain why it's important to be implemented.
It affects production enviroments, with a few users (less than 20), when Interbase is used as a real time information store like storing temperature every second or serving a user interactive time critical production proces.
Some transactions (usually very short transactions) need speed, the user (or a machine) can't wait because other concurrent long querys are processed. Now the users can affect the performance of the time critical transactions executing long querys (10-20 seconds querys). If 5 users are querying the database the time to proces the time critical transaction go from 0.1 seconds to 0.5 seconds.If a long query takes 12 seconds instead 10 is not critical.
Upgrading the IBServer proces priority not solves the problem because it upgrades the priority of all threads.
Interbase 6 has introduced an improvement to a similar situation, garbage collection time runs in a low priority thread, so if the time critical transaction needs to garbage collect records it happends in background, improving the response time.
Thanks
[Non-text portions of this message have been removed]