DOC

Dawn Clinical Framework Performance Checklist - 4S DAWN

By Lauren Mitchell,2014-09-18 07:45
30 views 0
Dawn Clinical Framework Performance Checklist - 4S DAWNDawn

Dawn CF Performance Considerations

     Dawn CF key processes

     SQL Server Web Server (Step 1) Query (SQL) Queries Database & returns Processes request and Request record set sends query to SQL server (http) via ADO/OLEDB. (VBScript) Web Browser Sends request to web server HTML page

     Web Server (Step 2) Record set (ADO) Creates HTML page dynamically from record set (VBScript)

Key factors that affect performance:

    Dawn CF Performance Considerations ..................................................................... 1

    Web server ; network connection SQL server. ............................................ 1

    SQL Server Performance ................................................................................... 2

    Disk Space ..................................................................................................... 2

    Transaction logs ............................................................................................. 2

    Database Growth ............................................................................................ 3

    Audit Trails ..................................................................................................... 3

    Web Server Performance ................................................................................... 4

    Processor (CPU) speed .................................................................................. 4

    Other processes ............................................................................................. 4

    Caching and Application Pool Recycling ......................................................... 4

    Virus Checkers ................................................................................................... 5

    Temporary Internet Files .................................................................................... 5

    Further Troubleshooting ..................................................................................... 5

    Performance Monitoring ..................................................................................... 6

    Running a SQL Profiler Trace ............................................................................ 7

Web server ; network connection SQL server.

If the Web server and SQL Server are on separate machines, ensure the network

    connection between them is fast (at least 100 mbits per second and preferably 1000

    mbits per second for larger databases).

C:\convert\temp\483854982.doc Version 2.0 Page 1 of 7 Jul. 1, 09

    Ask your IT department to confirm the network cards in both machines are functioning correctly and configured to operate at the highest speed possible and that the cabling supports this speed.

SQL Server Performance

Processor (CPU): Minimum 2Ghz (or faster if on same machine as web server)

    No of processors: if the SQL server serves more than one application/database

    increasing the number of processors and running in

    multiprocessor mode can improve performance

RAM: Minimum 2Gb

Disk Space

    Dawn CF database sizes vary so it is difficult to recommend a minimum. However, it is wise to maintain a buffer of at least 20Gb free space to accommodate errors such as SQL Server Agent failing to back up (and clear down) transaction logs. Ensure the drive where you store your backups has sufficient space to retain the number of previous backups you wish to keep on disk.

Transaction logs

    Dawn CF is a very interactive application, which generates many transactions. Transaction logs can grow rapidly exceeding 1Gb in a matter of hours. By default, SQL Server will grow a transaction log by 10%. This means that when it uses all the free space within the file, it allocates more disk space to the file calculating the new space required as 10% of the log’s current size. If a transaction log is 2Gb, it

    allocates 200Mb of space. The more space it has to allocate, the longer it and the longer SQL Server may appear unresponsive to requests from applications, introducing delays, timeout errors and possible dropped connections in Dawn CF.

To prevent performance issues caused by large transaction logs:

; Perform transaction log backups every hour.

; Check that the SQL Server Agent service has it’s Start Up Mode property set to

    Automatic so that it restarts automatically if the machine is rebooted (SQL Server

    Agent runs all scheduled SQL Server jobs including backups).

    ; If you have scheduled regular transaction log backups but performance is slowing

    down, check the size of the transaction log. If this is over 2Gb, check the

    transaction log backups are executing successfully. If so, reduce the interval

    between scheduled transaction log backups.

C:\convert\temp\483854982.doc Version 2.0 Page 2 of 7 Jul. 1, 09

Database Growth

    As with transaction logs, once all the free space in the primary database file is used, SQL Server has to grow the database by allocating more free space to the file. Again, by default it grows the file by 10%. If your database is 3Gb, this means it allocates around 300Mb in one go. If your database is 5Gb it means allocates 500Mb in one go. SQL server may appear temporarily unresponsive while doing this causing delays, timeout errors or dropped connections in Dawn CF.

    To prevent intermittent timeout errors change the growth setting for the database file (.mdf) from the default 10% to a fixed number of Mb (e.g. 50). Ideally, remove the need for SQL server to “auto grow” the database by periodically manually allocating a larger number of Mb of free space to the file (at a time when Dawn CF is not being heavily used).

Audit Trails

    Check the size of the Tbl_Change and SysWorkFlowLog tables in Dawn CF. The Tbl_Change in particular will get very large over time. It contains an audit trail of every change to every field in the Dawn database. Likewise the SysWorkFlowLog contains an audit of every status change to every record (for example a treatment

     Tested DoseSetDoseAuthorised). record can move from Scheduled

    If you are not obliged to keep this kind of audit trail information indefinitely, you can set up a SQL Server job to run every night and delete records over a certain age from the audit trails. This may stop a very large audit trail table from fragmenting the rest of the database file or causing it to “auto grow” more frequently than would otherwise be necessary. (Another option is to move the audit trail tables to a separate file). Contact Dawn for more help with these options.

C:\convert\temp\483854982.doc Version 2.0 Page 3 of 7 Jul. 1, 09

Web Server Performance

Processor (CPU) speed

Processor (CPU): 3Ghz or faster recommended

    No of processors: Dawn is a single threaded application so processor speed

    rather than the number of processors is the major factor.

    Multiple processors are desirable for redundancy and may help

    in executing other processes (from other services) in parallel

    but do not speed up the core Dawn application significantly.

    The Dawn Interface Engine comprises two additional

    applications (JResultNet and Dawn IE) so multiple processors

    may have a small performance benefit if you are running the

    interface on the same server.

RAM: Minimum 2Gb (with interface) or 1Gb without

Creating HTML pages dynamically (Web Server Step 2 in the diagram above) is

    the most processor intensive task and relies on a fast processor for good performance.

Other processes

    If the processor is sufficiently fast but performance is still slow, check whether any other processes are tying up the processor and introducing delays.

See the section on virus checkers below

Caching and Application Pool Recycling

    Ensure Dawn AC is set up under IIS with its own application pool, which is not automatically recycled, as specified in the Dawn installation instructions. (On Win 2000 servers the virtual directory/ web site should have the Application Protection option set to High - Isolated).

    The Dawn application is cached in memory to aid performance. Recycling processes unloads the application from the cache and introduces delays while it is read back from disk.

C:\convert\temp\483854982.doc Version 2.0 Page 4 of 7 Jul. 1, 09

Virus Checkers

Ensure Virus scans are not scheduled during working hours.

     cDisable any VB Script scanning module, such as MAfee ScriptScan, on the web

    server. These have been shown to slow down or even hang Dawn AC, which uses the Windows scripting Engine to execute Business Layer validation and automation scripts.

    Similar virus checking modules running on client machines have been known to disrupt Dawn on the client workstations. Dawn uses JavaScript in certain Ajax dialogs and to update content windows without having to reload the whole screen so any anti-virus or firewall software that interferes with the scripting engine can cause problems.