Optimization
From UG
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.