Operations 15 min read

System Performance Issue Analysis, Diagnosis, and Optimization Process

This article outlines a comprehensive approach to diagnosing and optimizing performance problems in production business systems, covering common causes such as concurrency spikes, data growth, and environment changes, and detailing hardware, middleware, database, JVM, code-level analyses, monitoring tools, and APM strategies.

Architecture Digest
Architecture Digest
Architecture Digest
System Performance Issue Analysis, Diagnosis, and Optimization Process

System Performance Issue Analysis Process

The article begins by stating that it focuses on diagnosing and optimizing performance problems that appear after a business system has been launched, rather than on pre‑release testing.

Typical Causes of Post‑Launch Performance Degradation

High concurrent access leading to bottlenecks.

Increasing database volume over time.

Changes in critical environment factors such as network bandwidth.

When a problem is detected, the first step is to determine whether it occurs under single‑user (non‑concurrent) conditions or only under load. Single‑user issues are usually easier to test and often stem from code or SQL inefficiencies, while concurrent issues require stress testing in a controlled environment.

During load testing, CPU, memory, and JVM should be monitored to detect problems such as memory leaks that may also arise under concurrency.

Factors Influencing Performance

Performance is affected by three main dimensions:

Hardware environment : compute, storage, and network resources. Server compute capability is often expressed by TPMC, but real‑world performance can vary. Storage I/O performance is a frequent bottleneck; tools like iostat, top, vmstat help monitor these metrics.

Software runtime environment : operating system, middleware, and JVM settings.

Application code : algorithms, data structures, and resource management.

Database and Middleware Tuning

For Oracle databases, performance factors include system, database, and network settings. Optimization targets include disk I/O, rollback segments, redo logs, SGA, and object design. Continuous monitoring is required, and DBAs often extract high‑cost SQL statements for developers to tune.

Middleware containers such as WebLogic or Tomcat require configuration tuning (thread pools, connection limits) and JVM parameter optimization.

-Xmx   # set maximum heap size
-Xms   # set minimum heap size
-XX:MaxNewSize   # set maximum young generation size
-XX:NewSize      # set minimum young generation size
-XX:MaxPermSize # (old model) set maximum permanent generation size
-XX:PermSize    # (old model) set minimum permanent generation size
-Xss   # set thread stack size

In modern JVMs the permanent generation has been replaced by Metaspace; therefore heap and Metaspace sizing, together with the choice of garbage‑collection algorithm, must be considered.

Software Code Issues

Creating large objects or opening DB connections inside loops.

Resource leaks causing memory exhaustion.

Missing caching where appropriate.

Long‑running transactions that consume resources.

Choosing sub‑optimal data structures or algorithms for a given scenario.

These problems are best uncovered through static analysis tools, code reviews, and adherence to coding standards.

Performance Detection via Monitoring and APM

Two main paths to discover performance issues are:

Proactive monitoring of infrastructure and Application Performance Management (APM) tools that generate alerts.

User feedback during normal operation.

APM links resource usage (CPU, memory, I/O) to specific applications, services, and business functions, enabling rapid pinpointing of slow SQL statements or service calls.

By integrating resource → application → business layers, APM supports full‑stack tracing, making performance diagnosis more efficient.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

JVMmonitoringperformanceoptimizationdatabasediagnostics
Architecture Digest
Written by

Architecture Digest

Focusing on Java backend development, covering application architecture from top-tier internet companies (high availability, high performance, high stability), big data, machine learning, Java architecture, and other popular fields.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.