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...
> It's possible to revert V12 db to the version 11.7 but it's unsupported and rather risky.
The difference between the V11 and V12 db structures is the metaschema and the version in the db extent blocks. If there are no application data in Schema Area and if you can postpone for a while the...
> I presume that OE 11 would not accept and process AI files from OE 12. Is that correct?
Invalid after image version number found in ai file header. Please verify your Progress version, OS version, or AI block size are correct. (752)
Plus you can apply AI files only to a database restored...
> a user deleted a record from a small reference table and I need to know who did it.
The table and its indexes are resided in the public areas, aren't them?
How many blocks are used by the bpaytrancode table?
How many blocks are used by the indexes of bpaytrancode table?
If the numbers are...
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.