Optimization

From UG

Revision as of 04:56, 23 February 2012 by Perry (Talk | contribs)
Jump to: navigation, search


Contents

Info

  • parent mantis: 0000028: [Optimization] .... parent
  • mantis category: Optimization

Requirements

Keep system speed/performance at the normal levels NOW and IN THE FUTURE.

It is assumed that to satisfy above we have to:

  • Optimize existing code, DB, etc to
  • Develop strategy for the future development

[Perry: 2/22/2012 comments/ideas regarding approach and strategy]

  • Separate web/app server from database server.
  • Introduce scheduled batch reporting features for processor/memory intensive reports
  • Develop plan to proactively monitor server utilization (Evaluate available tools - I know BMC Software has tools to report on various data points across a specified period of time)
  • Look for MySQL and Tomcat tools to monitor SQL statements and long running processes. Evaluate database explain plans - optimize SQL statements and introduce indexes where necessary.

SOW 0

  • 0001357: (Misc) Create CT2 2015 DB (Ops/Acc modules) Test speed, optimize (requirements for how fast each CT2 table will grow attached)
	For every table:
a) record how many records are now
b) find out (interview BAs) - how many records will be there at the end of 2010
c) estimate rate of growth per year after 2010
d) post this info into http://ct.jaguarfreight.com/wiki/Intro_into_CT2_DB [^] [^]

Based on the info above CT2 Architect will:

a) create database similar in size to dec 2010 levels
b) estimate speed of application
c) compare above with target
d) optimize DB and algorithms to reach the target speed 

SOW 1

* 0002233: (CT2 Misc) Ongoing DB optimization (SOW 1)

Implementation Notes SOW 1

  • P/l for mult cts report refactoring
  • Billing required report refactoring
  • P/l report for CT group and for Master - lines from one PI for different cts was grouped into one line per Marc's request

SOW 2

  • 0003312: (CT2 Misc) Ongoing DB optimization (SOW 2)

Implementation Notes SOW 2


1. Refactored ChargeCodes to ShipmentInvoices relation table (direct access without using tblTableOfCharges table).
2. Reworked ChargeCode persistence methods to speed-up Invoices access. Was improved speed of reports generation 

report p&l for multiple cts "Special View: Charge Code Group" optimized.
this report now works 10-20 times faster

SOW 3

Implementation Notes SOW 3

  • Refactor IsBasicApproval field (Boolean) to PlannerType field. Will simplify Queries logic.
  • Migrate current Planner Shipment Authorization Status fields to tblGenericShipment table
    • Avoid joining pair of long tables tblGenericShipment and tblShipmentAuthorizationStatusHistory
    • improve performance of Planner/Shipper portal and Reporting
  • Refactored Query class
    • removed quotation marks of Integer Parameter in Queries composition. As Vlad noted, comparing Integer to Character values has significant negative effect on performance.


SOW 4

Kostya: I need to add indexes and constraints to PDF dosc tables - for individual cts and masters. To implement this I should drop some "garbage" records from these several tables so I need time to review existing records and remove all that not have links to shipments that correnctly database has. Only after this I can add needed constraints to the tables. This indexes and constraints will improve database integrity and force speed.

Personal tools