Well if you are looking for similar tips then you should really visit:
http://www.javaperformancetuning.comAnother source of useful performance tips with regard to performance investigations (and tool) can be found on our website under "Performance Insight" articles:
http://www.jinspired.com/products/jdbinsight/insights.htmlThe standard 10 step approach to software performance engineering that we base our product around is:
Software Performance Engineering Activities Plan
The 10 fundamental activities of SPE are as follows:
1. Identify sensitivity of the application design to key business factors (forecast, analyze)
Understand the relationship between business factors (number of uses, service calls or incidents per day, peak hour traffic) and computing applications.
Activities
• Identify Volumes: Users, Number of Transactions, Number of Records, Resource Consumption
• Identify Events: Expected cyclic fluctuations, Rate of Growth
Business factors form the context for other SPE activities. Identifying them early in the development process is important as it establishes when and how often it will be used and how its intended usage is related to business factors.
Planning: Week 1
2. Specify business priorities and performance objectives
Set quantifiable measurable performance objectives then design (deployment topology) with such objectives in mind.
Activities
• Work with users to establish specific performance goals that will drive design, monitoring and tuning efforts.
• Understand the mix of update transactions, decision support queries, reporting and other types of application processing does the server handle.
• Assess whether current performance levels are acceptable.
• Determine priorities. Reduce response times? Increase transaction throughput? Time to deliver? Cost?
• What trade offs can be made for different transaction types and users?
• Determine budget constraints for hardware improvements?
Planning: Week 1
3. Evaluate application, database and system design alternatives
Create an architecture that permits growth using shared resources efficiently and meeting application response times. The design activity must address 3 performance goals: meet performance objectives, conserves resources, and accommodates growth.
Activities
• Databases: larger and more complex
• Users: more users online
• Transaction rates: higher and prolonged peak business periods
• Data analysis: More complex data analysis
• Networks: Linking between LANS and WANS
Planning: Week 1
4. Summarize application performance profiles
Collect information about the performance characteristics of an application. Application (users groups / scenarios) performance profiles characterize the workload at three distinct levels of detail: workload, application area and transaction type.
Activities: JXInsight
• Identify workloads: aggregate all resource consumption into a single business activity
• Identify application areas: partition the resource consumption at the application level (console, integration, web)
• Identify transaction types: characterize the workload as individual business transactions
Planning: Week 2-3
5. Predict performance on target platform
Create queuing models for application simulation. Perform full scale benchmarks.
Activity
• Collect Published Vendor Measurements
• Catalog Rules of Thumb (Product Specific)
• Performance Modeling
• Simulation
• Hardware & Software Component Benchmarking
Planning: Week *
6. Monitor ongoing software performance (measure, observe)
Collect performance metrics across important tiers and technology layers.
Activities: JXInsight
• Level 1: Continuous, low cost exception monitoring
• Level 2: Regular, targeted performance tracking
• Level 3: Occasional, focused performance audit
• Build application, resource and component catalog detailing resources used by applications, resource used by software components, software components used by applications…
• Instrumentation of systems to enable measurement and analysis of workload scenarios, resource requirements and performance goal achievement.
Planning: Week 2-3
7. Analyze observed performance data (review)
Observe relationships among performance variables, detect trends, and identify performance problems and their likely causes.
• Activities: JXInsight
• Baseline: Record performance statistics under normal operation
• Trend Analysis: Detect relationships among measured variables and trends over time
• Identify Important Measurements: The absence of an obvious pattern during testing or production monitoring with increasing loads indicates that variables important to performance are not being monitored.
Planning: Week 4-6
8. Confirm performance expectations (verify, validate, corroborate)
Perform frequent execution of formal monitoring (Load/Stress) and informal monitoring (User Experience) tests.
• Activities
• Create load testing suites and representative lab environments
• Create database population scripts to replicate the product environment
• Execute Automated Load and Stress Tests
• Involve users in User Experience Testing
Planning: Week 4-6
9. Tune application or system performance (optimize)
Improve aspects of system performance such as database physical design (partitioning, clustering, and indexing), Java process tuning (clustering, loading balancing, and memory heap sizing), and client usage (OLAP versus OLTP).
Activities: JXInsight
• Workload: Minimize the total processing load
• Efficiency: Maximize the ratio of useful work to overhead
• Locality: Group-related components based on usage
• Sharing: Share resources without creating bottlenecks
• Parallelism: Use parallelism when the gains outweigh the overhead
• Trade-off: Reduce delays by substituting faster resources
Planning: Week *
10. Manage ongoing system capacity (plan capacity)
Plan to deliver sufficient computing capacity to maintain acceptable performance as workloads grow and change. For both SPE and capacity planning the goal is to maintain acceptable performance levels in the face of change. For optimal system performance the data storage, network communication, and processing demands imposed by the business workload must be matched with the capacities of the hardware and software resources that make up the system. The previous activities will help in identify peak projected workloads.
Planning: Week *
Regards,
William Louth
JXInsight Product Architect
JInspired
http://www.jinspired.com