DOC

Dawn Clinical Framework Performance Checklist - 4S DAWN

By Lauren Mitchell,2014-09-18 07:45
28 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.

Temporary Internet Files

    A program called DawnMailer handles emailing, faxing and more sophisticated printing. DawnMailer sends an HTTP request to the main Dawn application and receives any pending letters or emails. It uses Internet Explorer to print these items.

    If left unmanaged it can, over time, accumulate a large number of temporary Internet files on the hard disk. (By default Internet Explorer uses 10% of the available disk space for temporary Internet files).

    Large collections of temporary Internet files can slow down regular virus or malware scans or other processes that check or index folder contents. This can result in extended periods of poor performance.

    If DawnMailer runs as a service under FireDaemon, we recommend you create a local or domain account (with a password that never expires) and configure FireDaemon to run DawnMailer using these credentials. You should then log into the DawnMailer machine using this login and set the Internet Options for Temporary Internet Files to use the smallest amount of disk space (usually between 1 and 10 Mb). If you have not specified an account for DawnMailer, the service will run under the Local System account and temporary Internet flles will be created under the Document and Settings subfolders for the Default User.

Further Troubleshooting

    If you have checked all of the above factors and none appears to be the cause of the performance issue, take steps to ascertain the answers to the following questions then contact 4S Dawn software to discuss:

    1. Is the system consistently slow or are there peaks and troughs in performance?

2. Do drops in performance occur at particular times of day?

    3. Do drops in performance occur when more than a certain number of users are

    logged in?

    4. Do drops in performance coincide with users performing particular tasks in Dawn?

5. Is the system on a dedicated server or a shared server?

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

6. Is the system running or a physical or virtual server?

    7. If a virtual server: is it hosted on a single dedicated physical machine or

    automatically assigned to any physical node in a cluster hosting a number of

    other virtual servers?

Performance Monitoring

    If the problem is still proving hard to diagnose consider using Windows System Monitor (Perfmon) to monitor memory and processor performance to try and spot bottlenecks.

    There are many Perfmon tutorials available online. The following link is one example. It is not in anyway intended to be taken as definitive but is certainly a good starting point:

http://www.computerperformance.co.uk/HealthCheck/

You may also find this Microsoft article useful:

http://technet.microsoft.com/en-us/library/cc778149(WS.10).aspx

    The Dawn AC web application makes intensive use of the processor. To check whether you may have a processor bottleneck consider monitoring the following counters:

    Processor: % Processor Time: ignore spikes but look for sustained periods of 70% or more utilisation which suggest the processor is overloaded

System: Processor Queue Length: a regular queue length of 2 or more suggests a

    processor bottleneck and may indicate the processor is too slow.

    However, an apparent processor bottleneck may be a result of insufficient memory if the processor is continually obliged to move pages in and out of virtual memory. As such, these counters should always be read in conjunction with the memory counters suggested below:

    The Dawn web application is relatively light in its memory usage but Dawn interface engine requires a minimum of 2Gb and running SQL server on the same machine may require more (depending on database size and whether any other databases are hosted by this SQL server instance).

    To check whether you have sufficient RAM installed, consider monitoring the following counters:

    Memory Pages/Sec - - which counts the total number of virtual memory pages that are moved between main memory and disk storage. Acceptable rates for Memory Pages/sec range from 40 per second on older portable computers to 150 per second for the newest disk systems.

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

    However, Microsoft counsels that this counter alone may be misleading as the operating system uses the paging system for purposes other than swapping pages due to memory over commitment. As such, monitor this counter in conjunction with:

Memory, Pages Output/Sec - this shows how many virtual memory pages were

    written to the pagefile to free RAM page frames for other purposes each second. Again according to Microsoft: "This is the best counter to monitor if you suspect that paging is your performance bottleneck". If this is low or zero most of the time, there is not a significant performance problem from not enough RAM.

Running a SQL Profiler Trace

    It may also be useful to run a SQL profiler trace on the Dawn database during a busy period for the Dawn users. If you are on version 7.7+ of Dawn you can add the following filter to the Trace to ensure it only monitors Dawn queries:

Application name Is Like PolarHost

    Of course if another database or SQL process that is slowing things down, this filter will hide the cause but it is probably a good starting point.

    Running a trace on an under-performing server can be a double-edged sword as it may slow things down further but you should not need to run it for long. If everyone is doing typical work (such as dosing patients), half an hour may be sufficient to see how well or badly the main queries are performing. 4S can look at the resulting trace file to see which queries are taking longest and what these are (listviews etc).

    This is of most use if run in conjunction with the Dawn users logging the delay times they are seeing in the application. If the trace shows that queries are executing relatively fast and yet the users report considerable longer delays, it may suggest the bottleneck is at the web server end. If the queries are executing slowly, the bottleneck is likely to be at the SQL server end.

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

Report this document

For any questions or suggestions please email
cust-service@docsford.com