The benchmark environment, created to reflect real-world retail banking activity volumes, was made up of 25 million accounts and 15 million customers across 2,000 branches. At peak performance, the system processed 3,437 transactions per second (TPS) in online business testing and averaged a record-breaking 5,203 interest accrual and capitalizations per second during COB testing, processing 25 million accounts in less than two hours. The maximum CPU utilization of the database server during the peak hour did not exceed 70%, providing considerable additional capacity. In addition, the testing demonstrated near linear scalability (95 percent) in building up toward the final the hardware configuration.
T24 Architecture
The transaction log file, generally a sequentially written file, must be written as quickly as possible—even before the data is written to the data files (the data portion can be rebuilt from the log if necessary). While there is no performance benefit from using more than one file, multiple files can be beneficial for maintenance purposes (for example, if you are running out of space on the log drive). Adding physical devices to support the LUN can benefit performance.
· Create one tempdb file per physical CPU core. This reduces page free space (PFS) contention.
· Pre-size the tempdb files, and make the files equal in size.
· Do not rely on autogrow.
· Use startup trace flag 1118. For more information about this SQL Server trace flag, see the article Concurrency Enhancements for the tempdb Database.
1.) Create a persisted computed column for the specific field. Create a user-defined function that evaluates the value of the field. The return value of the function should be a single scalar value. Using this function, the computed column should be added to the table and persisted.
2.) Create non-clustered index on the computed column. After creating the persisted computed column, create an index for this column:
-- example 1 CREATE INDEX ix_HOLD_CONTROL_C2 ON F_HOLD_CONTROL(C2)
· For scalar promotion (promoted and indexed fields):
ü Verify the query translation.
Without scalar promotion, T24 uses a query syntax such as:
The execution of this query usually uses a table scan to retrieve the results.
After promoting the field “c2”, query should become:
In this case, index lookup on ix_HOLD_CONTROL_C2 is used.
ü Prove that the index is used by reproducing the query and verifying the actual execution plan. You can run the query in SQL Server Management Studio and activate the icon “Include Actual Execution Plan” on the SQL Editor toolbar.
Alternatively, you can use the SET STATISTICS PROFILE ON statement to display execution plan information.
ü Verify the performance of the query has improved.
ü After using the application for a period of time (e.g., couple of hours or days), use the sys.dm_db_index_usage_stats dynamic management view to verify the index usage. Consider the ratio between index reads and index writes, keeping in mind that an index usually improves the performance for read operations but slows down modifications (i.e., inserts, updates, deletes) at the same time.
ü Consider the number of promoted columns and indexes per table. Too many indexes may degrade the overall performance. As a general rule, you should avoid creating more than seven indexes on a table for T24.
ü Do not create XML indexes on T24 XMLRECORD fields. The impact on transaction latency is too high, and the benefit in query performance is usually not significant.