150 likes | 287 Views
Designing Applications for Performance. Designing Applications for Performance. Appropriate I/O for Specific Task Minimize all Initiation and Termination Design Everything to be “Interactive” Pre-Summarize and Format Data Thin Client/Server is Good, Fat is Bad!
E N D
Designing Applications for Performance Designing Applications for Performance • Appropriate I/O for Specific Task • Minimize all Initiation and Termination • Design Everything to be “Interactive” • Pre-Summarize and Format Data • Thin Client/Server is Good, Fat is Bad! • Developers Environment vs. End Users • Be an End User for a Day!
Appropriate I/O for Specific Task Appropriate I/O for Specific Task • RPG/COBOL (use logical views) • Java/SQL (avoid table scans, re-indexing) • Wireless (minimize data across network) • Client/Server (keep logic near database)
Minimize all Initiation and Termination Minimize all Initiation and Termination • RPG/COBOL (use data queues, TFRCTL) • Java (minimize QJVACMDSRV, QJVAEXEC) • SQL (limit SQL requests, pull sets of data) • Wireless (TCP/IP sockets client/server) • Client/Server (keep ODBC connections open) • TCP/IP Sockets (multi-threaded connections) • ILE C (optimize calls to traditional routines) • Data Queues (use w/ triggers, keep files open)
Design Everything to be “Interactive” Design Everything to be “Interactive” • RPG/COBOL (batch is a “short-cut”) • Java (mimic “page at a time” sub-files?) • SQL (need 10 records, read 10 records) • Wireless (store offline lookup tables) • Client/Server (limit images, focus on function) • TCP/IP Sockets (keep active, good recovery) • ILE C (IBM Dynamic Screen Manager) • Data Queues (QSNDDTAQ, QRCVDTAQ)
Pre-Summarize and Format Data Pre-Summarize and Format Data • RPG/COBOL (normalize, transaction processing) • Java (de-normalize for performance) • SQL (pre-summarize for instant static totals) • Wireless (subset rows/columns for small devices) • Client/Server (re-format on server, pull to client) • Data Queues (w/ triggers, real-time summaries)
Thin Client/Server is Good, Fat is Bad! Thin Client/Server is Good, Fat is Bad! • RPG/COBOL (limit ILE program size) • Java (thin client, reasonable server) • SQL (stored procedures, small data-sets to client) • Wireless (thinnest client or it WON’T WORK!!) • Client/Server (fat client, not a feature to promote)
Developers Environment vs. End Users Developers Environment vs. End Users • Developers with SUPER machines and 10 transactions in the order detail file • End Users with older machines and 10,000,000 transactions in the order detail file • Single biggest reason for poor performance!!
Be a User for a Day! Be a User for a Day! • Experience what it is like to run your application on a 4 year old PC • How long does it take you to enter a transaction? • How do the features and functionality really work! • Receive first hand feedback on performance and functionality concerns • Gain a sense of appreciation for end-user complaints
Q&A Questions & Answers To receive MB Software’s FREE performance evaluation: 1. Register at http://www.mb-software.com2. Download and install software on AS/4003. Call (800) 713-5034 to schedule your free performance review session What To Expect: After allowing performance data to accumulate for one full business day, you will log into a secure area of MB Software’s Web site. We will then have a conference call to discuss our findings and how you can gain performance improvements with your existing applications. Analyzing existing workload and applications can do a great deal in showing what to mimic and what to improve in new applications. It’s that easy!