Wouldn't it be easy to get the non-default startup parameters using _DbParams VST (since v11.5)?
BTW, it’s easy to write a program-watchdog that would persistently monitor the online changes of the startup parameters. I’m not sure if DBAs are often changing the parameters online. But if they do...
How often were the latch conflicts resolved during the spinning phase - without getting the naps?
The quotes from above:
"Every transaction in ATM tests locks the (MTX) latch exactly 8 times and forces to nap on the latch 0.30 times in average."
"MTX latch was busy only 14% of the time."
So at...
> The -spin value does not seem to have any effect. What did I miss?
Stupid me! The contribution of the spinning phase was expected about 100 nanoseconds or 0.1 ms. Only bonehead will set the -nap to the hundreds ms!
I added the results for the -spin 9999999 - the max value allowed to be set...
Let’s assume a latch is locked 100 ms. What the -spin value we need for the spinning to take the same 100 ms?
Idea of the test:
Let’s lock the MTX latch by enabling the quiet point.
Start a transaction that does not update a database but just creates and deletes an entry in the transaction...
How to estimate how long the db buffers are locked in atm tests? It’s easy.
When a process need to change the RM chain it should update the table’s object block. While the block is exclusively locked by this process all other processes that would like to read the block using the BKSH lock will...
> I would collect the statistics of all transaction durations in milliseconds (the count and msec fields in temp-table).
Let’s name them as the stat records.
Other fields of these records:
Checkpoint counter – check the number of checkpoints before and after transaction. If the number is...
If I were brave enough to fix Gus's code, I would collect the statistics of all transaction durations in milliseconds (the count and msec fields in temp-table). Expected distribution for the tests with large number of users: 3% (or less) of all transactions will be committed in 1 ms or faster...
atm4.p
nhist = random (1, 4).
/* now do one transaction */
txStartMs = etime.
do for account, branch, teller, history1 transaction:
/* retrieve and update account */
find account where account.id = theAccount exclusive-lock.
assign account.balance =...
If I were running tests, I would do it like this:
1. Change the number of users in the range from 1 to 100.
What number of users will provide the maximum number of transactions per second?
Expectation: the highest result will be with 4-6 users provided the number of CPUs is larger than this...
> Pomon's "Status: Blocked Clients" says - there are no long buffer lock queues other than in "History1 Table" area. I bet the first record created in the ATM transactions is the history table.
Indeed, the notes for the history1 table are the first ones in the transactions.
4GL code from...
Another question about the internals of Progress transactions. First the fact – the recovery notes are generated by a client’s session. Even by a remote client that sends each recovery note to its server using a separate network message. The recovery notes can be generated, of course, only when...
And the Blocked Clients chat shows the wave-like changes - up and down – where the period of the changes is about 30 seconds. There are no database startup parameter with the dimension of the seconds that would match the periods of these cycles. How about the phases of the database operations...
> Why the spin value matters for the results when the main bottleneck is the buffer waits?
A possible explanation is based on the fact that the small number of the processes gives the best results in ATM tests. When the processes are spinning, they are not doing anything useful including the...
> What was the bottleneck for 150 sessions? Of course, the naps and waits. But I would like to know the name of the concrete resource.
Status: Blocked Clients answers:
69.3% (104 of 150 in the average per snapshots) clients were blocked;
94.7% waits were in the area 15: "History1...
Gus' presentation:
ATM transaction duration
slow 82 ms (-spin 5,000)
fast 31 ms (-spin 50,000)
My formula to estimate the durations of the short transactions:
Average transaction duration = Average number of the simultaneous transactions / Commits per Sec
Our results:
150 sessions...
Dear Santa(s),
I have been rather bad this year. So YouTube had recommended me to watch Gus Bjorklund presentation - "Time And How To Get Rid Of it -- Revisited".
The presentation raised some questions in my poor head but I can't find the answers on my own. For Christmas, can I get the answers...
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.