Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Overview

If a message contains repeating groups for Blocks and Legs then saving this information to DataBase significantly slows down the solution. To increase the performance of the solution the possibility to disable saving 'Blocks' and 'Legs' to the DB in ICE TC solution was implemented. By default saving is turned on but a user can easily disable it.

The Feature is available since FIXEdge 6.9.0.

Design

Installation scripts contain a code to create the table "ICESettings", and populate it with several properties with the default values ("1" stands for "TRUE" meaning "saving is turned on").


Code Block
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ICESettings]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[ICESettings](
	[Name] [varchar](32) NOT NULL,
	[Value] [bit] NOT NULL
) ON [PRIMARY];
INSERT INTO [dbo].[ICESettings] ([Name], [Value])
VALUES ('StoreSecurityBlockDetails', 1)
INSERT INTO [dbo].[ICESettings] ([Name], [Value])
VALUES ('StoreStrategyBlockDetails', 1)
INSERT INTO [dbo].[ICESettings] ([Name], [Value])
VALUES ('StoreStrategyLegs', 1)
END

The table created:

Image Modified

Stored procedures retrieve settings on each run with code like below:


Code Block
DECLARE @StoreStrategyBlockDetails bit = 1, @StoreStrategyLegs bit = 1
SELECT  @StoreStrategyBlockDetails = s.[Value] FROM [ICESettings] AS s WHERE s.[Name] = 'StoreStrategyBlockDetails'
SELECT  @StoreStrategyLegs = s.[Value] FROM [ICESettings] AS s WHERE s.[Name] = 'StoreStrategyLegs'


User can change the default values by running SQL requests to change property values in "ICESettings" table or using Microsoft SQL Server Management Studio.

Performance testing

Performance measurement results (time to load SecDefs and UDS):


enabled Blocks/Legs savingdisabled Blocks/Legs saving
first run (Empty DB)16:45 min7:26 min
second run (DB is already filled with the data from the first run)12:02 min5:42 min


Upgrade procedure

For full upgrade procedure follow the upgrade instruction.

To implement the new feature only do the following

...