Appropriate I/O for Specific Task

Download Report

Transcript Appropriate I/O for Specific Task

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)
I/O Example (RPG/COBOL)
I/O Example (Java/SQL)
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)
Initiation Example (data queues)
Initiation Example (Java)
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)
Interactive Example (Java/SQL)
Interactive Example (ILE-C)
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.com
2. Download and install software on AS/400
3. 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!